DEV Community

Yi Zhang
Yi Zhang

Posted on

Dig into the codebase of Tendermint and Cosmos SDK

Last year I worked on a project which required to convert Tendermint/Cosmos SDK into a network which could run multiple chains concurrently. We all know it's common for one blockchain to run on a set of nodes in one network. For cloud providers, each time when they create a new chain for a user (maybe a corporate or a small startup), they need at least 4 new nodes to form a basic Byzantine fault tolerance network. For some small startups, the cost is a bit significant. If multiple chains can share the same network/nodes before they start to have much traffic, it'll be a big win for both cloud providers and the users.

This project required a deep understanding and familiarity in the codebase of Tendermint and Cosmos SDK. To facilitate the process of learning the codebase, I've made lots of notes. Today I planed to share them in a series of posts here in dev dot to.

  1. How tendermint p2p nodes receive messages

  2. Tendermint p2p reactor types

  3. How tendermint consensus timeout ticker works


Notes:

  1. The code samples of tendermint in the above posts are from version v0.34.19
  2. The code samples of cosmos-sdk in the above posts are from version v0.45.3

AWS GenAI LIVE image

How is generative AI increasing efficiency?

Join AWS GenAI LIVE! to find out how gen AI is reshaping productivity, streamlining processes, and driving innovation.

Learn more

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay