CosmWasm contracts for the AXONE network.
This repository hosts Smart Contracts that are deployed on the AXONE network. But they are compatible with any Cosmos blockchains that uses the CosmWasm framework.
The class of Smart Contracts which act as reliable repositories, offering secure, efficient, and auditable storage and retrieval of various data types on the blockchain.
→ Tech documentation
|
|---|
|
|
| A Smart Contract which enables the storage of arbitrary unstructured Objects in any Cosmos blockchains. It provides a flexible solution for storing data without imposing strict schemas or predefined structures, accommodating various data formats and types. |
|
|
→ Tech documentation
|
|---|
|
|
| A Smart Contract which facilitates the storage and querying of semantic data using RDF (Resource Description Framework), which represents information as semantic triples. In essence, it serves as a repository for knowledge, providing a dedicated space for storing and retrieving semantic information within any Cosmos blockchains. |
|
|
The class of Smart Contracts designed to prioritize the sovereignty of the involved parties by allowing them to define and enforce their own rules and regulations.
→ Tech documentation
|
|---|
|
|
| A multifaceted Smart Contract designed to express and evaluate legal content, including but not limited to regulations, agreements, consents and permissions. It offers extraordinary adaptability and can be utilized in any blockchain within the Cosmos ecosystem that seeks to establish robust and flexible on-chain governance systems. |
|
|
The class of Smart Contracts designed to manage and orchestrate the lifecycle of various resources in the Dataverse.
→ Tech documentation
|
|---|
|
|
| A Smart Contract responsible for overseeing and managing the Dataverse within the AXONE network. The Dataverse is an ever-expanding universe that encompasses a wide range of Digital Resources, including datasets, data processing algorithms, ML algorithm, storage resources, computational resources, identity management solutions, orchestration engines, oracles, and many other resources recorded on the blockchain. |
|
|
The maturity of each contract is indicated by the following emojis.
This stage represents the initial spark or idea that leads to the development of the Smart Contract.
The Smart Contract is still in its infancy, with basic functionalities just being implemented. It is still under development, and its evolution may lead to breaking changes. It is not recommended for production use.
The Smart Contract has undergone a number of tests and improvements, and presents a coherent functional package, but may still lack some advanced features or optimizations. It can be used in production in testnets.
The Smart Contract is fully developed and tested. It's considered safe for production use, offering robust features and optimized performance.
The project is structured around a set of Rust workspaces, each defining a Smart Contract.
.
├── contracts
│ └── <contract>
│ ├── Cargo.toml
│ ├── examples
│ ├── schema
│ └── src
├── packages
│ └── <package>
│ ├── Cargo.toml
│ ├── examples
│ └── src
└─── Cargo.toml
Be sure you have the following tools installed:
And the following common GNU Core utilities:
To compile the Smart Contracts to Wasm, just invoke the wasm goal of the makefile:
cargo make wasm
This will install the rust Wasm toolchain, if not already done, and start the process for compiling the Smart Contracts to Wasm.
The Smart Contracts are under unit testing. The tests can be launched with the following invocation:
cargo make test-coverage
The project comes with a set of convenient tasks to manage the Smart Contracts and the blockchain. To see the list of available tasks, run the following command:
cargo make --list-all-steps | grep chain | sort | sed -r 's/chain(-?[a-zA-Z\-]*)/- `chain\1`/'
The list of available tasks for managing the chain is as follows:
chain - Run the axoned CLI using the chain's home directory under a Docker container.chain-add-keys - Add a set of predefined keys (recovered from the seed phrases) to the chain.chain-clean - Clean the chain data (⚠️ definitively)chain-deploy-contract - Deploy a specific contract to the chain. The contract must be compiled and the wasm file must be present in the artifacts directory (under target/wasm32-unknown-unknown/...).chain-deploy-contracts - Deploy all the available contracts to the chain (under target/wasm32-unknown-unknown/...).chain-execute-contract - Execute a command on a specific contract to the chain. The contract must be already deployed and instantiated.chain-init-folder - Initialize deploy folder to make sure scripts have the right permission (needed for linux)chain-initialize - Initialize the chain with a validator's key and a set of predefined keys. ⚠️ The home directory is cleaned before.chain-inspect-contract - Inspect a specific contract deployed to the chain.chain-instantiate-contract - Instantiate a specific contract to the chain. The contract must be already deployed.chain-list-contracts - List all the contracts deployed to the chain.chain-logs - Show the chain's container logs.chain-query-contract - Query a specific contract to the chain. The contract must be already deployed and instantiated.chain-start - Run the full node axoned application$ claude mcp add contracts \
-- python -m otcore.mcp_server <graph>