|
@ -23,11 +23,12 @@ Here are the steps to setting up a testnet manually: |
|
|
4) Compile a list of public keys for each validator into a |
|
|
4) Compile a list of public keys for each validator into a |
|
|
`genesis.json` file and replace the existing file with it. |
|
|
`genesis.json` file and replace the existing file with it. |
|
|
5) Run |
|
|
5) Run |
|
|
`tendermint node --proxy_app=kvstore --p2p.persistent_peers=< peer addresses >` |
|
|
|
|
|
on each node, where `< peer addresses >` is a comma separated list |
|
|
|
|
|
of the IP:PORT combination for each node. The default port for |
|
|
|
|
|
Tendermint is `26656`. Thus, if the IP addresses of your nodes were |
|
|
|
|
|
`192.168.0.1, 192.168.0.2, 192.168.0.3, 192.168.0.4`, the command |
|
|
|
|
|
|
|
|
`tendermint node --proxy_app=kvstore --p2p.persistent_peers=< peer |
|
|
|
|
|
addresses >` on each node, where `< peer addresses >` is a comma separated |
|
|
|
|
|
list of the ID@IP:PORT combination for each node. The default port for |
|
|
|
|
|
Tendermint is `26656`. The ID of a node can be obtained by running |
|
|
|
|
|
`tendermint show_node_id` command. Thus, if the IP addresses of your nodes |
|
|
|
|
|
were `192.168.0.1, 192.168.0.2, 192.168.0.3, 192.168.0.4`, the command |
|
|
would look like: |
|
|
would look like: |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -37,18 +38,22 @@ After a few seconds, all the nodes should connect to each other and |
|
|
start making blocks! For more information, see the Tendermint Networks |
|
|
start making blocks! For more information, see the Tendermint Networks |
|
|
section of [the guide to using Tendermint](./using-tendermint.md). |
|
|
section of [the guide to using Tendermint](./using-tendermint.md). |
|
|
|
|
|
|
|
|
But wait! Steps 3 and 4 are quite manual. Instead, use [this |
|
|
|
|
|
script](https://github.com/tendermint/tendermint/blob/develop/docs/examples/init_testnet.sh), |
|
|
|
|
|
which does the heavy lifting for you. And it gets better. |
|
|
|
|
|
|
|
|
|
|
|
Instead of the previously linked script to initialize the files required |
|
|
|
|
|
for a testnet, we have the `tendermint testnet` command. By default, |
|
|
|
|
|
running `tendermint testnet` will create all the required files, just |
|
|
|
|
|
like the script. Of course, you'll still need to manually edit some |
|
|
|
|
|
fields in the `config.toml`. Alternatively, see the available flags to |
|
|
|
|
|
auto-populate the `config.toml` with the fields that would otherwise be |
|
|
|
|
|
passed in via flags when running `tendermint node`. As you might |
|
|
|
|
|
imagine, this command is useful for manual or automated deployments. |
|
|
|
|
|
|
|
|
But wait! Steps 3, 4 and 5 are quite manual. Instead, use the `tendermint |
|
|
|
|
|
testnet` command. By default, running `tendermint testnet` will create all the |
|
|
|
|
|
required files, but it won't populate the list of persistent peers. It will do |
|
|
|
|
|
it however if you provide the `--populate-persistent-peers` flag and optional |
|
|
|
|
|
`--starting-ip-address` flag. Run `tendermint testnet --help` for more details |
|
|
|
|
|
on the available flags. |
|
|
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
|
tendermint testnet --populate-persistent-peers --starting-ip-address 192.168.0.1 |
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
This command will generate four folders, prefixed with "node" and put them into |
|
|
|
|
|
the "./mytestnet" directory by default. |
|
|
|
|
|
|
|
|
|
|
|
As you might imagine, this command is useful for manual or automated |
|
|
|
|
|
deployments. |
|
|
|
|
|
|
|
|
## Automated Deployments |
|
|
## Automated Deployments |
|
|
|
|
|
|
|
|