Cosmos SDK: Modular blockchain development framework
Open-source framework for building customizable Layer 1 blockchains with native interoperability support.
Learn more about Cosmos SDK
Cosmos SDK is a modular, open-source framework for building application-specific blockchains written in Go. The framework provides a composable architecture where developers can use predefined modules for standard blockchain functionality or create custom modules for specific use cases. It integrates natively with the Inter-Blockchain Communication Protocol (IBC) for cross-chain interoperability and works with CometBFT consensus engine. The SDK includes abstractions for governance, state management, account handling, and tokenization, with over 200 chains currently using it in production.
Modular Architecture
Composable design allows developers to mix predefined modules with custom modules for specific blockchain requirements. The framework provides abstractions for governance, state management, and tokenization processes.
Native Interoperability
Built-in integration with Inter-Blockchain Communication Protocol (IBC) enables cross-chain communication and data transfer between different blockchains. The ibc-go module is implemented directly within the SDK.
Application-Specific Design
Tailored for building sovereign, single-purpose blockchains rather than general-purpose smart contract platforms. Each chain can be optimized for its specific use case and requirements.
package main
import (
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/codec"
"github.com/cosmos/cosmos-sdk/codec/types"
"github.com/cosmos/cosmos-sdk/server"
"github.com/cosmos/cosmos-sdk/simapp"
"github.com/cosmos/cosmos-sdk/types/module"
"github.com/cosmos/cosmos-sdk/x/auth"
"github.com/cosmos/cosmos-sdk/x/bank"
"github.com/cosmos/cosmos-sdk/x/staking"
dbm "github.com/tendermint/tm-db"
)
type App struct {
*baseapp.BaseApp
cdc *codec.LegacyAmino
appCodec codec.Codec
interfaceRegistry types.InterfaceRegistry
// Module managers
mm *module.Manager
// Module keepers
AccountKeeper auth.AccountKeeper
BankKeeper bank.Keeper
StakingKeeper staking.Keeper
}
func NewApp(logger log.Logger, db dbm.DB) *App {
appCodec := simapp.MakeTestEncodingConfig().Marshaler
legacyAmino := simapp.MakeTestEncodingConfig().Amino
interfaceRegistry := simapp.MakeTestEncodingConfig().InterfaceRegistry
bApp := baseapp.NewBaseApp("myapp", logger, db, nil)
app := &App{
BaseApp: bApp,
cdc: legacyAmino,
appCodec: appCodec,
interfaceRegistry: interfaceRegistry,
}
return app
}This patch release includes minor dependency and non-breaking functionality additions.
- –Cosmos SDK v0.53.5 Release Notes 🚀 Highlights This patch release includes minor dependency and non-breaking functionality additions
- –This is fully API and state-compatible with all v0.53.x releases
Check out the changelog for an exhaustive list of changes or [compare changes](http
- –Updates CometBFT dependency
- –Fixes an issue with event indexing
This patch release includes minor dependency and non-breaking functionality additions.
- –Cosmos SDK v0.53.4 Release Notes 🚀 Highlights This patch release includes minor dependency and non-breaking functionality additions
- –This is fully API and state-compatible with all v0.53.x releases
See how people are using Cosmos SDK
Related Repositories
Discover similar tools and frameworks used by developers
Wormhole
Reference implementation of the Wormhole protocol for cross-chain blockchain interoperability and asset transfers.
Zcash
Full node implementation of Zcash cryptocurrency with zero-knowledge privacy features and shielded transactions.
Forge Std
Collection of contracts and libraries that provide testing utilities and cheatcode wrappers for Forge and Foundry.
OpenZeppelin Contracts
A library of audited Solidity components for secure smart contract development on Ethereum and EVM-compatible chains.
CCXT
Unified API library for 100+ cryptocurrency exchanges, standardizing trading, market data, and account management.