This is a quick start guide. If you have a vague idea about how
To quickly get Tendermint installed on a fresh Ubuntu 16.04 machine, use this script.
WARNING: do not run this on your local machine.Copy
The script is also used to facilitate cluster deployment below.
For manual installation, see the install instructions
will create the required files for a single, local node.
These files are found in
For a single, local node, no further configuration is required. Configuring a cluster is covered further below.
Start tendermint with a simple in-process application:Copy
and blocks will start to stream in:Copy
Check the status with:Copy
With the kvstore app running, we can send transactions:Copy
and check that it worked with:Copy
We can send transactions with a key and value too:Copy
and query the key:Copy
where the value is returned in hex.
First create four Ubuntu cloud machines. The following was tested on Digital Ocean Ubuntu 16.04 x64 (3GB/1CPU, 20GB SSD). We'll refer to their respective IP addresses below as IP1, IP2, IP3, IP4.
ssh into each machine, and execute this script:
This will install
go and other dependencies, get the Tendermint source code, then compile the
Next, use the
tendermint testnet command to create four directories of config files (found in
./mytestnet) and copy each directory to the relevant machine in the cloud, so that each machine has
Before you can start the network, you'll need peers identifiers (IPs are not enough and can change). We'll refer to them as ID1, ID2, ID3, ID4.Copy
Finally, from each machine, run:Copy
Note that after the third node is started, blocks will start to stream in
because >2/3 of validators (defined in the
genesis.json) have come online.
Persistent peers can also be specified in the
config.toml. See here for more information about configuration options.
Transactions can then be sent as covered in the single, local node example above.