Skip to content

Files

Latest commit

ee5da1a · Dec 16, 2024

History

History
This branch is 248 commits behind cosmos/cosmos-sdk:main.

core

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Mar 14, 2024
Oct 1, 2024
Nov 14, 2023
Oct 28, 2024
Apr 17, 2024
Sep 3, 2024
Sep 16, 2024
Sep 3, 2024
Sep 3, 2024
Sep 19, 2024
Jul 26, 2024
Sep 5, 2024
Aug 23, 2024
Oct 25, 2024
Nov 8, 2024
Dec 16, 2024
Oct 1, 2024
Nov 8, 2024
May 10, 2022
Sep 16, 2024
Dec 12, 2024
Dec 12, 2024
May 29, 2024

Cosmos SDK Core

The cosmossdk.io/core Go module defines essential APIs and interfaces for the Cosmos SDK ecosystem. It serves as a foundation for building modular blockchain applications.

Key features and principles:

  1. Provides stable, long-term maintained APIs for module development and app composition.
  2. Focuses on interface definitions without implementation details.
  3. Implementations are housed in the runtime(/v2) or individual modules.
  4. Modules depend solely on core APIs for maximum compatibility.
  5. New API additions undergo thorough consideration to maintain stability.
  6. Adheres to a no-breaking-changes policy for reliable dependency management.
  7. Aimed to only depend on schema, ensuring a lightweight and self-contained foundation.

The core module offers the appmodule and appmodule/v2 packages that include APIs to describe how modules can be written. Additionally, it contains all core services APIs that can be used in modules to interact with the SDK, majoritarily via the appmodule.Environment struct. Last but not least, it provides codecs and packages for the Cosmos SDK's core types (think of, for instance, logger, store interface or an address codec).

Developers and contributors approach core API design with careful deliberation, ensuring that additions provide significant value while maintaining the module's stability and simplicity.