Skip to main content

Cosmos

Cosmos Network is an interoperable and scalable blockchain ecosystem developed in 2016 by Jae Kwon(co-founder of Tendermint) and Ethan Buchman.

The Cosmos SDK is a flexible framework built in Golang that lets developers create their own blockchains using Tendermint's consensus engine. Think of it as a toolkit that emphasizes modularity and security, similar to how npm works for JavaScript applications. It started as a simple framework but has evolved into a powerful platform for building custom blockchains. Some of the most useful building blocks it offers to developers are:

  • EVM: A module which adds Ethereum-compatible smart contract execution.
  • WASM: A module for WebAssembly, which allows you to write smart contracts in languages like Rust, then compile it to WASM Bytecode and deploy it to safely run inside a VM.
  • Tendermint: A BFT Consensus Engine that handles block production, validator coordination and P2P networking.
  • GOV: A module that enables on-chain governance, allowing token holders to submit and vote on proposals, upgrade the chain and other features.
  • Auth: A module for authentication of accounts and transactions for applications.
  • Staking and Slashing: Proof of Stake related functions.
  • Mint: A module for creating new tokens.

A primary characteristic of the Ecosystem is Interoperability. The original Cosmos blockchain that connects other Cosmos chains via the Inter-Blockchain Communication Protocol (IBC) is the Cosmos Hub (with ATOM being its native cryptocurrency). Some projects built on top of it include:

  • Osmosis: A DEX to swap between tokens of the Ecosystem.
  • The Secret Network: A chain with privacy-preserving smart contracts.
  • Axelar: A "bridge chain" mainly used for interoperability between other chains.
  • Celestia: A chain offering data availability.

As always, a good first read is the official Cosmos SDK Docs, specifically the Introduction and Beginner sections. Once you have familiarized yourself with the Interchain, go through the Cosmos Hands-on Exercise and code along. Make sure to also check any parts of the Tutorials section that might be useful for the exercise.

Finally, create your own Escrow Smart Contracts by completing the CosmWasm101 tasks.

💡 Tasks

  • Download and install Keplr and configure it for ATOM if it is not the default.
  • Get yourself $20 worth of ATOM from Kraken or some other exchange and transfer them to your Keplr account.
  • Go through the Introduction and Beginner sections of the Cosmos SDK Docs.
  • Create your own chain by following the Cosmos Hands-on Exercise.
  • Experiment with all the modules the Cosmos SDK has to offer by adding them to your chain.
  • Create your own smart contracts by going through the CosmWasm101 tasks.

Optional​

For those looking to understand the Tendermint consensus a little more, read this section of Tendermint Core, and any other sections that might seem interesting to you.

Additionally, you can find a brief history of the Cosmos chain here.