cosmos-sdk/core
2024-09-13 16:44:18 +00:00
..
address refactor!: mv AddressCodecs aliases from runtime -> core (#19747) 2024-03-14 14:19:15 +00:00
appmodule refactor(core): re-add handlers (#21575) 2024-09-09 09:01:46 +00:00
branch feat(core): add Branch.ExecuteWithGasLimit API (#18457) 2023-11-14 10:07:55 +00:00
comet refactor(core,x/**): simplify core service api and embed environment in keepers (#20071) 2024-04-17 18:18:16 +00:00
context docs(core): add core documentation and principles (#21511) 2024-09-03 22:20:05 +00:00
event refactor: zerodep core (#21239) 2024-08-12 12:57:44 +00:00
gas docs(core): add core documentation and principles (#21511) 2024-09-03 22:20:05 +00:00
genesis docs(core): add core documentation and principles (#21511) 2024-09-03 22:20:05 +00:00
header chore: various cleanup (#20864) 2024-07-18 09:12:58 +00:00
log feat(log): remove core dependency and update core interface to be dependency free (#21045) 2024-07-26 11:00:27 +00:00
registry refactor(core): move amino registrar and drop legacy package (#21531) 2024-09-05 11:44:52 +00:00
router refactor(core,stf,x)!: remove InvokeTyped from router (#21224) 2024-08-23 21:38:06 +00:00
server refactor: remove viper as a direct dependency (#21635) 2024-09-12 06:00:42 +00:00
store chore: prepare core 1.0.0-alpha.1 (#21564) 2024-09-09 09:49:49 +00:00
testing feat: replace the cosmos-db usecases in the tests with core/testing (#21525) 2024-09-13 16:44:18 +00:00
transaction docs(core): add core documentation and principles (#21511) 2024-09-03 22:20:05 +00:00
CHANGELOG.md build(deps): bump rocksdb & core & update ci codeowners (#21652) 2024-09-12 08:51:14 +00:00
go.mod build(deps): use Go 1.23 instead of Go 1.22 (#21280) 2024-08-15 08:43:08 +00:00
go.sum refactor: zerodep core (#21239) 2024-08-12 12:57:44 +00:00
Makefile feat: add core module with app config support (#11914) 2022-05-10 14:41:52 -04:00
README.md docs(core): add core documentation and principles (#21511) 2024-09-03 22:20:05 +00:00
sonar-project.properties chore: force reload sonar cloud (#20480) 2024-05-29 11:12:09 +00:00

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 have zero dependencies, 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.