If you are a team currently researching which platform to use for your decentralized application, we are here to provide some guidance.
In this article you'll find a brief explanation about the Interchain, Cosmos, as well as a list of resources you can use to see if the Interchain Stack is for you, and a who's who to help you orient around this highly decentralized ecosystem.
The Interchain Stack
The Interchain, also known as the “Cosmos Ecosystem”, is an interoperable network of sovereign blockchains. The primary thesis of the appchain philosophy is that decentralized applications benefit greatly from high throughput and complete control of the underlying software that runs their app, without compromising on interoperability.
The Interchain Stack is a set of modular development tools that allow teams to build completely sovereign Layer 1 blockchains that come pre-built with a consensus and application layer. Using the CometBFT (Tendermint) Consensus algorithm and the Cosmos SDK, app developers can easily create modules that execute the state changes required for their chain. Using the Inter-Blockchain Communication (IBC) protocol, apps are able to communicate with other chains in a completely permissionless way.
Overview
If you need a comprehensive overview of the full Interchain Stack, the best place to get started is the Developer Portal. The ICF also offers a free 7-week guided training program for developers through the Interchain Developer Academy which is based mostly on the content from the Developer Portal and is operated by B9lab. You can apply here.
Cosmos SDK
The Cosmos SDK is a modular application layer written in Golang. The codebase comes pre-built with modules to provide basic blockchain functionality such as staking, token transfers, governance, DAOs, authorizations and more. App developers write their modules in the
x/
directory and wire them up in app.go
.The Cosmos SDK is maintained by Binary Builders.
CometBFT (formerly Tendermint Core)
CometBFT is a Byzantine Fault Tolerant consensus engine that interfaces with the application layer thought ABCI. Written in Golang, it comes with the Cosmos SDK by default, but you can also opt to run it as a standalone binary and create a custom application layer if desired.
CometBFT is maintained by Informal Systems.
Inter-Blockchain Communication (IBC) Protocol
The IBC protocol is a set of standards that define how blockchains can communicate in a generalizable and permissionless way. The protocol is agnostic to which ecosystem you're in and there are currently several implementations being built for non-Cosmos chains.
IBC-Go is the Golang implementation that comes default in the Cosmos SDK.
Off-chain operators called “relayers” move packages between chains, which get verified by light clients that run on the counterparty chain. There are currently three implementations:
- TS-Relayer (not actively being maintained)
The protocol is under stewardship from the Interchain Foundation and receives contributions from many developers, the Go implementation is primarily maintained by Interchain GmbH, the Hermes Relayer by Informal Systems and the Go Relayer by Strangelove.
CosmWasm
Write smart contracts in Rust running on a Web Assembly Virtual machine. Comes as a module you can plug into your Cosmos chain.
CosmWasm is primarily being maintained by Confio. They also offer a training program called the CosmWasm Academy.
Create-Cosmos-App
A front and back-end template generator built on top of CosmJS & Telescope that comes with built-in wallet support, written in TypeScript. Think
create-react-app
for Cosmos.Create-Cosmos-App & Telescope are being maintained by Cosmology, CosmJS is being maintained by Confio & Cosmology.
Ignite CLI
An easy way to scaffold your chain is by using Ignite CLI. This framework automates the creation of most of the boilerplate.
Ignite CLI is being maintained by New Tendermint.
Ethermint
An Ethereum Virtual Machine module for the Cosmos SDK. This allows you to build in Solidity and interface directly with EVM compatible clients such as Metamask. Basically Ethereum on Cosmos.
Ethermint is being maintained by Evmos. They were the first to launch an EVM compatible chain. Although documentation is sparse, the Evmos docs can prove useful, as well as their Discord.
Explorers
- Map Of Zones - Data on existing IBC connections & cross-chain transfers
Wallets
Other Resources
- Chain Registry - Repo containing metadata on all Cosmos chains
- Cosmos.network - Main Cosmos website
- Cosmos Network Discord - Main Cosmos Discord for developers