WebAssembly Smart Contracts for the Cosmos SDK
The following Rust crates are maintained in this repository:
The following diagram shows the dependencies between the Rust crates in this repository:
---
config:
theme: 'forest'
---
graph BT
A("`**cosmwasm-core**
3.0.6`")
B("`**cosmwasm-std**
3.0.6`")
C("`**cosmwasm-crypto**
3.0.6`")
D("`**cosmwasm-vm**
3.0.6`")
E("`**cosmwasm-vm-derive**
3.0.6`")
F("`**cosmwasm-derive**
3.0.6`")
G("`**cosmwasm-schema**
3.0.6`")
H("`**cosmwasm-schema-derive**
3.0.6`")
I("`**cosmwasm-check**
3.0.6`")
J("`**cw-schema**
3.0.6`")
K("`**cw-schema-derive**
3.0.6`")
A --> B
A --> C
A --> D
C --> B
C --> D
B --> D
E --> D
F --> B
H --> G
B --> I
D --> I
G --> B
J --> B
J --> G
K --> J
To get that contract to interact with a system needs many moving parts. To get oriented, here is a list of the various components of the CosmWasm ecosystem:
Standard library:
This code is compiled into Wasm bytecode as part of the smart contract.
Building contracts:
packages for docs
on the various standard interfaces, and contracts for the implementations.
Please submit your contract or interface via PR.Building locally instead of using the docker image can leak some information about the directory structure of your system and makes the build non-reproducible.
Executing contracts:
cosmwasm-vm. Easily allows you to upload, instantiate and
execute contracts, making use of all the optimizations and caching available
inside cosmwasm-vm.$ claude mcp add cosmwasm \
-- python -m otcore.mcp_server <graph>