Aditya d247184157 Revert Capabilities on Failed Tx (#5999)
Reintroduce memKVStore to keep track of fwd and reverse mappings.

On reverse mapping, rather than store a mapping to marshalled
capability; we store the index.

capability.Keeper and all scopedKeeper have access to a capability
map that maps index to the capability pointer.

This is done to make sure that all writes to memKVStore get reverted
on a fail tx, while also allowing GetCapability to retrieve the original
memory pointer from the go map.

Go map must be accessed only by first going through the
memKVStore. SInce writes to go map cannot be automatically
reverted on tx failure, it gets cleaned up on failed GetCapability calls.

Closes: #5965
2020-04-16 18:42:13 +02:00
2020-04-14 19:13:15 +00:00
2020-03-04 17:49:59 +00:00
2020-03-01 16:18:22 +00:00
2020-01-30 11:26:16 -05:00
2018-01-29 12:38:50 +01:00
2020-04-16 12:19:18 +02:00
2020-04-16 12:19:18 +02:00
2020-04-08 14:47:24 +02:00
2019-12-16 16:24:37 -03:00
2019-03-18 13:45:25 +01:00
2019-01-31 09:59:19 -08:00
2018-12-20 10:03:59 -08:00

Cosmos SDK

banner

version CircleCI Sims codecov Go Report Card license LoC API Reference

The Cosmos-SDK is a framework for building blockchain applications in Golang. It is being used to build Gaia, the first implementation of the Cosmos Hub.

WARNING: The SDK has mostly stabilized, but we are still making some breaking changes.

Note: Requires Go 1.14+

Quick Start

To learn how the SDK works from a high-level perspective, go to the SDK Intro.

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

For more, please go to the Cosmos SDK Docs.

Cosmos Hub Mainnet

The Cosmos Hub application, gaia, has moved to its own repository. Go there to join the Cosmos Hub mainnet and more.

Scaffolding

If you are starting a new app or a new module we provide a scaffolding tool to help you get started and speed up development. If you have any questions or find a bug, feel free to open an issue in the repo.

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.

S
Description
No description provided
Readme
288 MiB
2025-12-12 07:01:08 +00:00
Languages
Go 93.1%
C 5.5%
Java 0.3%
Sage 0.3%
Makefile 0.2%
Other 0.5%