Tangle Network

The Tangle Network is a specialized platform engineered to support and govern cross-chain Zero-Knowledge (ZK) applications. Leveraging the robust Substrate blockchain framework, the Tangle Network forms the core infrastructure to facilitate a new generation of privacy-enhancing and governance-decentralized applications.

The Tangle Network's unique offering centers around the intersection of cross-chain functionality, familiar EVM tooling and compatibility, advanced governance systems, and the world of ZK applications. Our network seamlessly merges these distinct elements, creating an ecosystem that amplifies the strengths of each component.

Server preparation Ubuntu 22.04

apt update && apt upgrade -y
apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev libgmp3-dev tar clang bsdmainutils ncdu unzip llvm libudev-dev make protobuf-compiler -y

Download the binary file and config

cd $HOME
sudo mkdir -p $HOME/.tangle && cd $HOME/.tangle
sudo wget -O tangle https://github.com/webb-tools/tangle/releases/download/v1.0.0/tangle-default-linux-amd64
sudo chmod 744 tangle
sudo mv tangle /usr/bin/
sudo tangle --version
# 0.5.0-e892e17-x86_64-linux-gnu
sudo wget -O $HOME/.tangle/tangle-mainnet.json "https://raw.githubusercontent.com/webb-tools/tangle/main/chainspecs/mainnet/tangle-mainnet.json"
sudo chmod 744 ~/.tangle/tangle-mainnet.json

Change Name on telemery "XXXX"

yourname=XXXX
sudo tee /etc/systemd/system/tangle.service > /dev/null << EOF
[Unit]
Description=Tangle Validator Node
After=network-online.target
StartLimitIntervalSec=0

[Service]
User=$USER
Restart=always
RestartSec=3
LimitNOFILE=65535
ExecStart=/usr/bin/tangle \
  --base-path $HOME/.tangle/data/ \
  --name $yourname \
  --chain $HOME/.tangle/tangle-mainnet.json \
  --node-key-file "$HOME/.tangle/node-key" \
  --port 30333 \
  --validator \
  --no-mdns \
  --telemetry-url "wss://telemetry.polkadot.io/submit/ 1"
  
[Install]
WantedBy=multi-user.target
EOF

Generate and Store Keys

Create new seed from metamask, save them.

KEY="your seeds 12 word"
tangle key insert --base-path $HOME/.tangle/data/ \
--chain tangle-mainnet \
--scheme Sr25519 \
--suri "$KEY" \
--key-type acco

tangle key insert --base-path $HOME/.tangle/data/ \
--chain tangle-mainnet \
--scheme Sr25519 \
--suri "$KEY" \
--key-type babe

tangle key insert --base-path $HOME/.tangle/data/ \
--chain tangle-mainnet \
--scheme Sr25519 \
--suri "$KEY" \
--key-type imon

tangle key insert --base-path $HOME/.tangle/data/ \
--chain tangle-mainnet \
--scheme Ecdsa \
--suri "$KEY" \
--key-type role


tangle key insert --base-path $HOME/.tangle/data/ \
--chain tangle-mainnet \
--scheme Ed25519 \
--suri "$KEY" \
--key-type gran

Start node

sudo systemctl daemon-reload
sudo systemctl enable tangle
sudo systemctl restart tangle

Check logs

sudo journalctl -u tangle -f -o cat

Check node:

https://telemetry.polkadot.io/#list/0x44f68476df71ebf765b630bf08dc1e0fedb2bf614a1aa0563b3f74f20e47b3e0

Create Wallet or Login Wallet and Copy address

https://polkadot.js.org/apps/?rpc=wss://rpc.tangle.tools#/staking

Get Key to staking validator

curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:9944

If you get a similar result, then everything is great {"jsonrpc":"2.0","result":"0xa0very0long0hex0string","id":1} - copy the key (in bold) we will need it in the next step

Setup via Validator Tab

  • Go to the polkadot website and first create wallet account

  • For stash we configure Set on-chain Identity for identification

  • We create a validator. To do this, select Network - Staking - Accounts - Validator

As soon as a place among the validators becomes available, you will appear in the Staking Overview tab, but for now you can find yourself on the Waiting tab

Backup your validator node

IMPORTANT - save the keys located in , You can use MobaXterm or WinSCP or Terminus

Save folder: /root/.tangle/data/chains/tangle-mainnet/keystore/

Save file: /root/.tangle/node-key

Delete your node

systemctl stop tangle && \
systemctl disable tangle && \
rm /etc/systemd/system/tangle.service && \
systemctl daemon-reload && \
cd \
rm -r .tangle

Upgrade version

sudo systemctl stop tangle
wget -O tangle https://github.com/webb-tools/tangle/releases/download/v1.0.11/tangle-default-linux-amd64 && chmod +x tangle
sudo rm -rf /usr/bin/tangle
sudo mv tangle /usr/bin/
sudo tangle --version
sudo systemctl daemon-reload
sudo systemctl restart tangle
sudo journalctl -u tangle -f -o cat

Last updated