An MPC based governance system for cross-chain zero-knowledge applications.
Table of Contents
The Tangle Network contains runtimes for standalone node featuring Webb's DKG and privacy pallet protocols.If you would like to familiarize yourself with Tangle and DKG protocol check out following repo and docs:
This guide uses https://rustup.rs installer and the rustup
tool to manage the Rust toolchain.
First install and configure rustup
:
# Install
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Configure
source ~/.cargo/env
Great! Now your Rust environment is ready!
Note: You may need additional dependencies, checkout substrate.io for more information.
If you want to use Nix for development, please follow following instructions- Install Nix
- Enable Flakes (if you are not already see here: Flakes)
- If you have
direnv
installed, everything should work out of the box. - Alternatively, you can run
nix flake develop
in the root of this repo to get a shell with all the dependencies installed.
- Build
tangle-standalone
node.
cargo build --release
- Execute tangle network setup script.
./scripts/run-standalone-local.sh --clean
This should start the local testnet, you can view the logs in /tmp directory for all the authorities and use polkadotJS to view the running testnet.
Tangle standalone node ships with Webb Relayer in the node itself, which is useful to run them together. For instructions on how to run Tangle Standalone Node with Webb Relayer, Please refer to this document.
Tangle standalone node ships with Webb Light Client in the node itself, which is useful to run them together. For instructions on how to run Tangle Standalone Node with Webb Light Client, Please refer to this document.
Interested in contributing to the Webb Tangle Network? Thank you so much for your interest! We are always appreciative for contributions from the open-source community!
If you have a contribution in mind, please check out our Contribution Guide for information on how to do so. We are excited for your first contribution!
Licensed under GNU General Public License v3.0.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the GNU General Public License v3.0 license, shall be licensed as above, without any additional terms or conditions.
The linking phase may fail due to not finding libgmp (i.e., "could not find library -lgmp") when building on a mac M1. To fix this problem, run:
brew install gmp
# make sure to run the commands below each time when starting a new env, or, append them to .zshrc
export LIBRARY_PATH=$LIBRARY_PATH:/opt/homebrew/lib
export INCLUDE_PATH=$INCLUDE_PATH:/opt/homebrew/include