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:
seedssetting). A seed node will make sure all nodes are interconnected (by sending addresses of other nodes to a connected node)persistent_peerssetting to connect to other nodesSee https://docs.tendermint.com/master/spec/p2p/config.html for more info.