cosmos-sdk/core
2024-10-21 09:58:09 +00:00
..
address refactor!: mv AddressCodecs aliases from runtime -> core (#19747) 2024-03-14 14:19:15 +00:00
appmodule feat(core/handlers): improve handlers registration DevX (#22007) 2024-10-01 19:16:20 +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 feat(core/event): make core/event as a type alias of schema/appdata (#21719) 2024-09-16 22:18:50 +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 refactor(stf): remove RunWithCtx (#21739) 2024-09-19 21:39:47 +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 ci: actually enable v2 system test (#21539) 2024-09-26 13:16:28 +00:00
store refactor(core): structural typing for kvstore (#22242) 2024-10-11 20:44:12 +00:00
testing build(all): migrate to go.uber.org/mock (#22315) 2024-10-21 09:58:09 +00:00
transaction feat(core/handlers): improve handlers registration DevX (#22007) 2024-10-01 19:16:20 +00:00
CHANGELOG.md chore: add simsx labels & more (#21776) 2024-09-18 08:11:18 +00:00
go.mod chore: add simsx labels & more (#21776) 2024-09-18 08:11:18 +00:00
go.sum chore: add simsx labels & more (#21776) 2024-09-18 08:11:18 +00:00
Makefile feat: add core module with app config support (#11914) 2022-05-10 14:41:52 -04:00
README.md feat(core/event): make core/event as a type alias of schema/appdata (#21719) 2024-09-16 22:18:50 +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 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.