SEDA chain core contract written in CosmWasm.
To learn how to build a local version, please read developing. To learn how to contribute, please read contributing.
The core contract enables some of the core features of the SEDA protocol. It allows:
- Users to post data requests.
- Users can also stake to become executors allowing them to commit & reveal on data requests.
- The chain, via sudo functions, to timeout & remove data requests, while rewarding/burning funds for the later.
- Owner to transfer ownership, change configurations, and management of the allowlist.
Before starting, make sure you have rustup along with a recent rustc and cargo version installed. Currently, we are testing on 1.83.0-1.86.0. You need to have the wasm32-unknown-unknown target installed as well.
Note
Rust 1.87.0 broke the WASM compilation. It requires bulk memory, but then the wasm can't be decode by the chain.
You can check that via:
rustc --version
cargo --version
rustup target list --installed
# if wasm32 is not listed above, run this
rustup target add wasm32-unknown-unknownInstall [wasm-opt][https://github.com/WebAssembly/binaryen]: cargo install wasm-opt --locked, this produces a optimized version of the contract small enough to be uploaded to the chain.
Contents of this repository are open source under MIT License.