mirror of
https://github.com/fluencelabs/tendermint
synced 2025-04-30 17:22:13 +00:00
42 lines
2.3 KiB
Markdown
42 lines
2.3 KiB
Markdown
# Deploy a Testnet
|
|
|
|
Now that we've seen how ABCI works, and even played with a few applications on a single validator node,
|
|
it's time to deploy a test network to four validator nodes.
|
|
For this deployment, we'll use the `basecoin` application.
|
|
|
|
## Manual Deployments
|
|
|
|
It's relatively easy to setup a Tendermint cluster manually.
|
|
The only requirements for a particular Tendermint node are a private key for the validator,
|
|
stored as `priv_validator.json`, and a list of the public keys of all validators, stored as `genesis.json`.
|
|
These files should be stored in `~/.tendermint`, or wherever the `$TMROOT` variable might be set to.
|
|
|
|
Here are the steps to setting up a testnet manually:
|
|
|
|
1) Provision nodes on your cloud provider of choice
|
|
2) Install Tendermint and the application of interest on all nodes
|
|
3) Generate a private key for each validator using `tendermint gen_validator`
|
|
4) Compile a list of public keys for each validator into a `genesis.json` file.
|
|
5) Run `tendermint node --p2p.seeds=< seed addresses >` on each node, where `< seed addresses >` is a
|
|
comma separated list of the IP:PORT combination for each node. The default port for Tendermint is `46656`.
|
|
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: `tendermint node --p2p.seeds=192.168.0.1:46656,192.168.0.2:46656,192.168.0.3:46656,192.168.0.4:46656`.
|
|
|
|
After a few seconds, all the nodes should connect to eachother and start making blocks!
|
|
For more information, see the Tendermint Networks section of [the guide to using Tendermint](/docs/guides/using-tendermint).
|
|
|
|
## Automated Deployments
|
|
|
|
While the manual deployment is easy enough, an automated deployment is always better.
|
|
For this, we have the [mintnet-kubernetes tool](https://github.com/tendermint/mintnet-kubernetes),
|
|
which allows us to automate the deployment of a Tendermint network on an already provisioned kubernetes cluster.
|
|
|
|
For more details, see the [mintnet-kubernetes repo](https://github.com/tendermint/mintnet-kubernetes),
|
|
and check out [Google Cloud Platform](https://cloud.google.com/) for simple provisioning of kubernetes clusters.
|
|
|
|
TODO: a better tutorial here, and Ansible/Terraform.
|
|
|
|
## Next Steps
|
|
|
|
Done trying out the testnet? Continue [onwards](/docs/getting-started/next-steps).
|