cosmos-sdk

module
v0.52.0-rc.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 18, 2024 License: Apache-2.0

README

Cosmos SDK

banner

The Cosmos SDK is a framework for building blockchain applications. CometBFT (BFT Consensus) and the Cosmos SDK are written in the Go programming language. Cosmos SDK is used to build Gaia, the implementation of the Cosmos Hub.

Note: Always use the latest maintained Go version for building Cosmos SDK applications.

Quick Start

To learn how the Cosmos SDK works from a high-level perspective, see the Cosmos SDK High-Level Intro.

If you want to get started quickly and learn how to build on top of Cosmos SDK, visit Cosmos SDK Tutorials. You can also fork the tutorial's repository to get started building your own Cosmos SDK application.

For more information, see the Cosmos SDK Documentation.

Contributing

See CONTRIBUTING.md for details on how to contribute and participate in our dev calls. If you want to follow the updates or learn more about the latest design then join our Discord.

Tools and Frameworks

The Cosmos ecosystem is vast. Awesome Cosmos is a community-curated list of notable frameworks, modules and tools.

Inter-Blockchain Communication (IBC)

The IBC module for the Cosmos SDK has its own cosmos/ibc-go repository. Go there to build and integrate with the IBC module.

Version Matrix

The version matrix below shows which versions of the Cosmos SDK, modules and libraries are compatible with each other.

[!IMPORTANT] Cosmos SDK v2 corresponds to a chain using the runtime/v2, server/v2/**, and store/v2 packages. The github.com/cosmos/cosmos-sdk module has a less important role in a v2 chain.

Core Dependencies

Core dependencies are the core libraries that an application may depend on. Core dependencies not mentioned here as compatible across all maintained SDK versions. See an exhaustive list of core dependencies at cosmossdk.io.

Version v2 0.52.z 0.50.z 0.47.z
cosmossdk.io/core 1.y.z 1.y.z 0.11.z 0.5.z
cosmossdk.io/api 0.8.z 0.8.z 0.7.z 0.3.z
cosmossdk.io/x/tx 1.y.z 1.y.z < 1.y.z N/A
cosmossdk.io/store N/A >= 1.10.z 1.0.0 >= 1.9.z N/A
cosmossdk.io/store/v2 2.y.z N/A N/A N/A
cosmossdk.io/collections 1.y.z 1.y.z < 1.y.z < 1.y.z
Module Dependencies

Module Dependencies are the modules that an application may depend on and which version of the Cosmos SDK they are compatible with.

Note: The version table only goes back to 0.50.x, as modules started to become modular with 0.50.z. X signals that the module was not spun out into its own go.mod file. N/A signals that the module was not available in the Cosmos SDK at that time.

Cosmos SDK v2 0.52.z 0.50.z
cosmossdk.io/x/accounts 0.2.z 0.2.z N/A
cosmossdk.io/x/bank 0.2.z 0.2.z X
cosmossdk.io/x/circuit 0.2.z 0.2.z 0.1.z
cosmossdk.io/x/consensus 0.2.z 0.2.z X
cosmossdk.io/x/distribution 0.2.z 0.2.z X
cosmossdk.io/x/epochs 0.2.z 0.2.z N/A
cosmossdk.io/x/evidence 0.2.z 0.2.z 0.1.z
cosmossdk.io/x/feegrant 0.2.z 0.2.z 0.1.z
cosmossdk.io/x/gov 0.2.z 0.2.z X
cosmossdk.io/x/group 0.2.z 0.2.z X
cosmossdk.io/x/mint 0.2.z 0.2.z X
cosmossdk.io/x/nft 0.2.z 0.2.z 0.1.z
cosmossdk.io/x/protocolpool 0.2.z 0.2.z N/A
cosmossdk.io/x/slashing 0.2.z 0.2.z X
cosmossdk.io/x/staking 0.2.z 0.2.z X
cosmossdk.io/x/upgrade 0.2.z 0.2.z 0.1.z

Disambiguation

This Cosmos SDK project is not related to the React-Cosmos project (yet). Many thanks to Evan Coury and Ovidiu (@skidding) for this Github organization name. As per our agreement, this disambiguation notice will stay here.

Directories

Path Synopsis
api module
oe
testutil/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
grpc/cmtservice
Package cmtservice is a reverse proxy.
Package cmtservice is a reverse proxy.
grpc/node
Package node is a reverse proxy.
Package node is a reverse proxy.
grpc/reflection
Package reflection is a reverse proxy.
Package reflection is a reverse proxy.
rpc
tx
legacy
Package legacy contains a global amino Cdc which is deprecated but still used in several places within the SDK.
Package legacy contains a global amino Cdc which is deprecated but still used in several places within the SDK.
types
Package types defines a custom wrapper for google.protobuf.Any which supports cached values as well as InterfaceRegistry which keeps track of types which can be used with Any for both security and introspection
Package types defines a custom wrapper for google.protobuf.Any which supports cached values as well as InterfaceRegistry which keeps track of types which can be used with Any for both security and introspection
unknownproto
Package unknownproto implements functionality to "type check" protobuf serialized byte sequences against an expected proto.Message to report:
Package unknownproto implements functionality to "type check" protobuf serialized byte sequences against an expected proto.Message to report:
container module
cosmovisor module
hd
Package hd provides support for hierarchical deterministic wallets generation and derivation.
Package hd provides support for hierarchical deterministic wallets generation and derivation.
keyring
Package keyring provides common key management API.
Package keyring provides common key management API.
keys/bcrypt
Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing algorithm.
Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing algorithm.
keys/internal/ecdsa
Package ECDSA implements Cosmos-SDK compatible ECDSA public and private key.
Package ECDSA implements Cosmos-SDK compatible ECDSA public and private key.
keys/secp256r1
Package secp256r1 implements Cosmos-SDK compatible ECDSA public and private key.
Package secp256r1 implements Cosmos-SDK compatible ECDSA public and private key.
db module
depinject module
errors module
internal
conv
Package conv provides internal functions for conversions and data manipulation
Package conv provides internal functions for conversions and data manipulation
log module
math module
orm module
Package server The commands from the SDK are defined with `cobra` and configured with the `viper` package.
Package server The commands from the SDK are defined with `cobra` and configured with the `viper` package.
api
cmd
grpc/gogoreflection
Package gogoreflection implements gRPC reflection for gogoproto consumers the normal reflection library does not work as it points to a different singleton registry.
Package gogoreflection implements gRPC reflection for gogoproto consumers the normal reflection library does not work as it points to a different singleton registry.
grpc/reflection/v2alpha1
Package v2alpha1 is a reverse proxy.
Package v2alpha1 is a reverse proxy.
log
Package std defines all the common and standard inter-module Cosmos SDK types and definitions modules and applications can depend on.
Package std defines all the common and standard inter-module Cosmos SDK types and definitions modules and applications can depend on.
store module
tools/ics23 Module
tests module
cli
integration
Integration contains the integration test setup used for SDK modules.
Integration contains the integration test setup used for SDK modules.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
network
Package network implements and exposes a fully operational in-process CometBFT test network that consists of at least one or potentially many validators.
Package network implements and exposes a fully operational in-process CometBFT test network that consists of at least one or potentially many validators.
x/counter/testutil
Package testutil is a generated GoMock package.
Package testutil is a generated GoMock package.
bech32/legacybech32
Deprecated: The module provides legacy bech32 functions which will be removed in a future release.
Deprecated: The module provides legacy bech32 functions which will be removed in a future release.
errors
Package errors provides a shared set of errors for use in the SDK, aliases functionality in the cosmossdk.io/errors module that used to be in this package, and provides some helpers for converting errors to ABCI response code.
Package errors provides a shared set of errors for use in the SDK, aliases functionality in the cosmossdk.io/errors module that used to be in this package, and provides some helpers for converting errors to ABCI response code.
kv
module
Package module contains application module patterns and associated "manager" functionality.
Package module contains application module patterns and associated "manager" functionality.
tx
Package tx is a reverse proxy.
Package tx is a reverse proxy.
Package version is a convenience utility that provides SDK consumers with a ready-to-use version command that produces apps versioning information based on flags passed at compile time.
Package version is a convenience utility that provides SDK consumers with a ready-to-use version command that produces apps versioning information based on flags passed at compile time.
x
auth/ante/testutil
Package testutil is a generated GoMock package.
Package testutil is a generated GoMock package.
auth/testutil
Package testutil is a generated GoMock package.
Package testutil is a generated GoMock package.
auth/tx/testutil
Package testutil is a generated GoMock package.
Package testutil is a generated GoMock package.
auth/types
Package types is a reverse proxy.
Package types is a reverse proxy.
auth/vesting/testutil
Package testutil is a generated GoMock package.
Package testutil is a generated GoMock package.
genutil
Package genutil contains a variety of genesis utility functionality for usage within a blockchain application.
Package genutil contains a variety of genesis utility functionality for usage within a blockchain application.
genutil/testutil
Package testutil is a generated GoMock package.
Package testutil is a generated GoMock package.
genutil/v2
v2 contains logic and CLI used for genutil by server/v2 / runtime/v2 applications.
v2 contains logic and CLI used for genutil by server/v2 / runtime/v2 applications.
simulation
Package simulation implements a full fledged Cosmos SDK application used for executing simulation test suites.
Package simulation implements a full fledged Cosmos SDK application used for executing simulation test suites.
circuit Module
feegrant Module
group Module
nft Module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL