Skip to content

sedaprotocol/seda-chain-contracts

Repository files navigation

seda-chain-contracts

SEDA Chain Contracts

GitHub Stars GitHub Contributors Discord chat Twitter

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.

Dependencies

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-unknown

Install [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.

License

Contents of this repository are open source under MIT License.

About

SEDA chain contracts written in CosmWasm

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 7

Languages