You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
2.1 KiB

  1. Deploy a Testnet
  2. ================
  3. Now that we've seen how ABCI works, and even played with a few
  4. applications on a single validator node, it's time to deploy a test
  5. network to four validator nodes. For this deployment, we'll use the
  6. ``basecoin`` application.
  7. Manual Deployments
  8. ------------------
  9. It's relatively easy to setup a Tendermint cluster manually. The only
  10. requirements for a particular Tendermint node are a private key for the
  11. validator, stored as ``priv_validator.json``, and a list of the public
  12. keys of all validators, stored as ``genesis.json``. These files should
  13. be stored in ``~/.tendermint``, or wherever the ``$TMROOT`` variable
  14. might be set to.
  15. Here are the steps to setting up a testnet manually:
  16. 1) Provision nodes on your cloud provider of choice
  17. 2) Install Tendermint and the application of interest on all nodes
  18. 3) Generate a private key for each validator using
  19. ``tendermint gen_validator``
  20. 4) Compile a list of public keys for each validator into a
  21. ``genesis.json`` file.
  22. 5) Run ``tendermint node --p2p.seeds=< seed addresses >`` on each node,
  23. where ``< seed addresses >`` is a comma separated list of the IP:PORT
  24. combination for each node. The default port for Tendermint is
  25. ``46656``. Thus, if the IP addresses of your nodes were
  26. ``192.168.0.1, 192.168.0.2, 192.168.0.3, 192.168.0.4``, the command
  27. would look like:
  28. ``tendermint node --p2p.seeds=192.168.0.1:46656,192.168.0.2:46656,192.168.0.3:46656,192.168.0.4:46656``.
  29. After a few seconds, all the nodes should connect to eachother and start
  30. making blocks! For more information, see the Tendermint Networks section
  31. of `the guide to using Tendermint <using-tendermint.html>`__.
  32. Automated Deployments
  33. ---------------------
  34. While the manual deployment is easy enough, an automated deployment is
  35. always better. For this, we have the `mintnet-kubernetes
  36. tool <https://github.com/tendermint/tools/tree/master/mintnet-kubernetes>`__,
  37. which allows us to automate the deployment of a Tendermint network on an
  38. already provisioned kubernetes cluster. And for simple provisioning of kubernetes
  39. cluster, check out the `Google Cloud Platform <https://cloud.google.com/>`__.