#proposal #webb #blockchain #protocols

no-std webb-proposals

Webb Protocol Proposals Specification & Implementation (part of webb-rs SDK)

24 releases

0.8.0 Dec 11, 2023
0.5.4 Aug 18, 2022
0.4.4 Jul 28, 2022
0.2.1 Mar 31, 2022

#2154 in Magic Beans

Download history 1/week @ 2024-02-21 10/week @ 2024-02-28 1/week @ 2024-03-13 26/week @ 2024-03-27 52/week @ 2024-04-03 1/week @ 2024-04-17 59/week @ 2024-04-24

515 downloads per month
Used in webb-relayer

Apache-2.0

140KB
3K SLoC

Webb-rs

The Webb Core SDK for Rust
⚠️ Beta Software ⚠️


Downloading metadata from a Substrate node

Use the subxt-cli tool to download the metadata for your target runtime from a node.

  1. Install:
cargo install subxt-cli
  1. To Save the metadata of tangle: Run the release build of the tangle node, then on another terminal run:
subxt metadata -f bytes > ./metadata/tangle-runtime.scale

Same goes for any future runtimes.

Note: This defaults to querying the metadata of a locally running node on the default http://localhost:9933/. If querying a different node then the metadata command accepts a --url argument.

  1. Generating the rust code from the metadata:
cargo build --features generate-substrate

Tip: See the build.rs file to see how everything is being generated.

Generating EVM Contracts

  1. Update any contracts inside the contracts directory.
  2. Run
cargo build --features generate-contracts

Tip: See the build.rs file to see how everything is being generated.

Using Nix (with flakes)

  1. Install Nix
  2. Enable flakes (if you haven't already)
  3. Run nix develop to enter a shell with all the dependencies installed

Additionally, if you have direnv installed, you can run direnv allow to automatically enter the shell whenever you enter the directory.

Safety

This crate uses #![deny(unsafe_code)] to ensure everything is implemented in 100% Safe Rust.

Contributing

Want to join us? take a look at some of these issues:

License

Licensed under Apache License v2.0.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache license, shall be licensed as above, without any additional terms or conditions.

Dependencies

~11–28MB
~426K SLoC