How to communicate multiple Tendermint ABCI instances?

611 Views Asked by At

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!

1

There are 1 best solutions below

0
On

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:

  1. Create a seed node and point other nodes to it (seeds setting). A seed node will make sure all nodes are interconnected (by sending addresses of other nodes to a connected node)
  2. Use persistent_peers setting to connect to other nodes

See https://docs.tendermint.com/master/spec/p2p/config.html for more info.