I am trying to deploy multiple nodes in a Tendermint network.
Each of them will be running an instance of the Application (I am using the Counter ABCI example for testing purposes), and a Tendermint instance.
I know how to use the ABCI-Cli to send transactions from one node to the Address where the Application is running, but I do not know how to set up a Multiple node architecture in which multiple ABCI instances will share their status.
I am aware of a High-level SDK for decentralized Apps using Tedermint as its core called Cosmos SDK; by now I would like to make the PoC as small and simple as possible without using the Cosmos SDK. Do I really need to use the Cosmos SDK?
Thanks a lot in advance!
For testing, check out https://docs.tendermint.com/master/networks/docker-compose.html
For production, check out https://docs.tendermint.com/master/tendermint-core/using-tendermint.html#tendermint-networks
The first step in deploying a Tendermint Core based network is to compile genesis.json file. You can generate an initial genesis.json file by running
tendermint init
. Then, you need to include public keys of other validators along with initial stake / voting power values. After that, distribute (copy) resulting genesis.json file to other validators.After that, there are multiple ways to go forward:
seeds
setting). A seed node will make sure all nodes are interconnected (by sending addresses of other nodes to a connected node)persistent_peers
setting to connect to other nodesSee https://docs.tendermint.com/master/spec/p2p/config.html for more info.