From 58825f7a74fb4cd9ca6590ab32864640dd1d184a Mon Sep 17 00:00:00 2001 From: salman01zp Date: Wed, 3 Jan 2024 19:55:42 +0530 Subject: [PATCH 01/20] remove learn section and update cmds --- components/NetworkConfig.tsx | 2 +- pages/docs/_meta.json | 1 - .../docs/build/pallets/crosschain-pallets.mdx | 96 ------------------- pages/docs/learn/_meta.json | 7 -- pages/docs/learn/distributed-key-gen.mdx | 72 -------------- pages/docs/learn/incentives.mdx | 31 ------ pages/docs/learn/tss-governance.mdx | 38 -------- pages/docs/learn/understanding-dkg-tangle.mdx | 74 -------------- pages/docs/learn/webb-protocol.mdx | 35 ------- pages/docs/node/docker-node.mdx | 30 +++--- pages/docs/node/flags.mdx | 2 +- pages/docs/node/systemd.mdx | 8 +- pages/docs/node/troubleshooting.mdx | 18 +--- pages/docs/node/validator/requirements.mdx | 2 +- 14 files changed, 23 insertions(+), 393 deletions(-) delete mode 100644 pages/docs/build/pallets/crosschain-pallets.mdx delete mode 100644 pages/docs/learn/_meta.json delete mode 100644 pages/docs/learn/distributed-key-gen.mdx delete mode 100644 pages/docs/learn/incentives.mdx delete mode 100644 pages/docs/learn/tss-governance.mdx delete mode 100644 pages/docs/learn/understanding-dkg-tangle.mdx delete mode 100644 pages/docs/learn/webb-protocol.mdx diff --git a/components/NetworkConfig.tsx b/components/NetworkConfig.tsx index e1501cdc..a5cdf8b7 100644 --- a/components/NetworkConfig.tsx +++ b/components/NetworkConfig.tsx @@ -15,7 +15,7 @@ const NetworkCard = ({ explorerUrls, fundingInfo, }) => { - const [isCollapsed, setIsCollapsed] = useState(true); + const [isCollapsed, setIsCollapsed] = useState(false); const toggleCollapse = () => { setIsCollapsed(!isCollapsed); diff --git a/pages/docs/_meta.json b/pages/docs/_meta.json index 4cef17ea..05fa9376 100644 --- a/pages/docs/_meta.json +++ b/pages/docs/_meta.json @@ -6,7 +6,6 @@ "network-information-configuration": "Network Configuration", "build": "Build", "node": "Node", - "learn": "Learn", "governance": "Govern", "community": "Community", "faqs": "FAQs", diff --git a/pages/docs/build/pallets/crosschain-pallets.mdx b/pages/docs/build/pallets/crosschain-pallets.mdx deleted file mode 100644 index fa339d0f..00000000 --- a/pages/docs/build/pallets/crosschain-pallets.mdx +++ /dev/null @@ -1,96 +0,0 @@ -# DKG Governance - -The DKG governance is split between different Substrate pallets that each handle a different aspect of the system. - -## Pallets - -The DKG runtime is uses the following pallets which are central to how the protocol functions. - -### pallet-dkg-metadata - -The metadata pallet tracks information about the DKG state. This includes the active and next authority -sets and their authority set IDs, the active and next DKG public keys, thresholds, historical refreshes, -and more. It’s main purpose is to provide on-chain information about the DKG and the next DKG for clients -who are participating in the protocol. - -The pallet houses a few sub-protocols, namely: - -- The refresh protocol -- The misbehaviour and reputation protocol - -One main importance of this pallet is to deterministically identify the best authorities for the next -DKG’s authority set in order to signal participation to clients in the membership set. This ensures that -all offchain clients see the same state of the world. - -- [Docs](https://webb-tools.github.io/dkg-substrate/pallet_dkg_metadata/index.html) -- [Source](https://github.com/webb-tools/dkg-substrate/tree/master/pallets/dkg-metadata) - -### pallet-dkg-proposals - -This pallet maintains the valid proposers and the first layer of the governance system: voting on proposals -to be signed by the DKG. The valid proposers is superset of the current DKG authorities. Active DKG -authorities are continuously rotated into the proposer set. - -This pallet maintains a queue for pending proposals which the DKG authorities vote on and if the vote threshold -is met, the proposal is passed on to be handled by a type that implements the `ProposalHandlerTrait`. The -proposals meant to be processed by this pallet are primarily `AnchorUpdateProposals` but can be extended to -support any type of proposal that is meant to be submitted by the valid proposers. - -- [Docs](https://webb-tools.github.io/dkg-substrate/pallet_dkg_proposals/index.html) -- [Source](https://github.com/webb-tools/dkg-substrate/tree/master/pallets/dkg-proposals) - -### pallet-dkg-proposal-handler - -This pallet implements the `ProposalHandlerTrait` and accepts proposals through this handler system. In the -current incarnation, the **pallet-dkg-proposals** passes successfully passed unsigned proposals to this pallet -for queuing for eventual signing by the DKG. All unsigned proposals handled here are added to a queue which each -DKG client continues to poll from using a runtime API. - -Off-chain, unsigned proposals move through the DKG’s threshold signature protocol and eventually, if successful, -get re-submitted on-chain as signed proposals. The unsigned proposal records are removed and the signed proposals -are stored in the pallet’s storage for inspection by any observing system, such as an oracle or relayer network. - -This pallet represents the second stage in the governance protocol. That is, after the first layer of the governance -system decides on which proposals to sign, this pallet helps expose those proposals and enable submission of them -after successful threshold-signing. - -- [Docs](https://webb-tools.github.io/dkg-substrate/pallet_dkg_proposal_handler/index.html) -- [Source](https://github.com/webb-tools/dkg-substrate/tree/master/pallets/dkg-proposal-handler) - -## Client - -The DKG client (or gadget) is the main service that interfaces with the pallet system and overall governance protocol. -It is responsible for listening to the chain and participating (if selected) in the DKG protocol. - -### dkg-gadget - -The DKG gadget is an offchain service that executes the DKG protocols and stores data in off-chain storage for the -on-chain system to fetch and post back on-chain. It also listens to changes in the proposal handler and metadata -pallets in order to properly: - -- Rotate keys -- Sign unsigned proposals -- Set and clear offchain storage -- Report misbehaviours. - -We are always executing a DKG signing protocol for the current authority set **and the DKG key generation protocol -for next authority set if none has completed**. - -- [Docs](https://webb-tools.github.io/dkg-substrate/dkg_gadget/index.html) -- [Source](https://github.com/webb-tools/dkg-substrate/tree/master/dkg-gadget) - -### **Note on Offchain workers** - -The DKG makes use of offchain workers to store data ready for on-chain submission. - -If running a live chain as a validator, please add your sr25519 account keys to the node's local keystore -either by using the `author_insertKey` RPC or using the `key` subcommand - -``` -dkg-standalone-node key insert --key-type acco --scheme sr25519 --suri -``` - -> Key Type is `acco` Scheme is sr25519 - -**Note** For the standalone node the account being added to the keystore should be the Stash account used in staking -not the Controller account diff --git a/pages/docs/learn/_meta.json b/pages/docs/learn/_meta.json deleted file mode 100644 index 05039e0c..00000000 --- a/pages/docs/learn/_meta.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "webb-protocol": "Webb Protocol on Tangle", - "incentives": "Incentives, Staking and Slashing", - "understanding-dkg-tangle": "Intro to Distributed Key Generation (DKG)", - "distributed-key-gen": "DKG In-Depth", - "tss-governance": "TSS In-Depth" -} diff --git a/pages/docs/learn/distributed-key-gen.mdx b/pages/docs/learn/distributed-key-gen.mdx deleted file mode 100644 index ce4548e5..00000000 --- a/pages/docs/learn/distributed-key-gen.mdx +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: DKG -description: Overview of a distributed key generation protocol for governing Webb applications. ---- - -import DKGKeygenImages from '../../../components/images/DKGKeygenProtocol' -import DKGSigningImages from '../../../components/images/DKGSigningProtocol' -import Callout from "../../../components/Callout"; - -# Distributed Key Generation Protocol - -This page will provide an overview of the Distributed Key Generation (DKG) protocol, what it is, -its intended use, and how it interacts with the wider system. - -The primary purpose of the DKG protocol is to govern the Anchor System. More precisely, the DKG -act as a security instrument to the Anchor System, that is, we say that the bridge updates are -valid if they are signed by the DKG. The security of the system then rests on the DKG signing the -actual data that it is meant to sign. Effectively, trust is placed in the DKG. - -## What is a DKG - -A [DKG](https://en.wikipedia.org/wiki/Distributed_key_generation) stands for a distributed key -generation protocol. It is a cryptographic multi-party protocol in which multiple parties -contribute to the creation of a shared public and private key. This keypair can then be used -for different use cases such as signing and encryption. We call the output of these use cases -threshold signatures and threshold encryptions respectively. In the Webb ecosystem, our DKG is -primarily used for generating threshold signatures. It is comprised of two protocols that each -network participants runs independently: - -1. Threshold-key-generation -2. Threshold-signature-scheme - -The (1) distributed key generation protocol takes a secret parameter as input, and outputs the -private signing key (sk) and public key (pk). The returned private signing key (sk) is only a -share of the private key, where the values of all returned private signing key shares constitute -a (t,n) threshold secret sharing of the private signing key. - - - -The (2) distributed signing protocol takes the private signing key (sk) of each network participant, -and the message to be signed (m) as inputs. The output is a valid signature. The public input message -are updates (proposals) that are being signed using a threshold-signature-scheme. - - - -The DKG makes use of these distributed key generation and signing protocols to govern distributed applications, -namely the Anchor System. Each distributed application in question has a variety of parameters it needs to -govern. These parameters can be as simple as individual integer values or byte array or as complicated as -entries in a key/value storage map. - -Distributed applications using the DKG define a protocol for handling signed messages. After verifying the -signature of such a message, the application handles the message contents by mutating its internal state -with the newly received data. - -We additionally utilize any number of pre-processing protocols for decided what the DKG signs with the -purpose of improving the security of the end-user applications. Since we trust signatures from the DKG -without fault, we must ensure messages proposed for signing are not proposed maliciously. An example of -such a system is a majority voting protocol, i.e. that a majority of parties signal validity over a -message before the message is processed by the DKG. - -## Want to learn more? - -- [One Round Threshold ECDSA with Identifiable Abort](https://eprint.iacr.org/2020/540.pdf) - -## Contribute to the Webb DKG Protocol - -We are actively making improvements to the Webb DKG Protocol. Check out the below DKG repository and source documentation to start. Have feedback to share about a Webb -relayer? We want to hear from you, share your thoughts [here](https://github.com/webb-tools/feedback/discussions/categories/dkg-feedback). - - - Please keep in mind that this repo is in active development, and may not be fully functional. If you find a bug, please report it [here](https://github.com/webb-tools/dkg-substrate/issues/new/choose). - diff --git a/pages/docs/learn/incentives.mdx b/pages/docs/learn/incentives.mdx deleted file mode 100644 index 68dcd187..00000000 --- a/pages/docs/learn/incentives.mdx +++ /dev/null @@ -1,31 +0,0 @@ -# Tangle Network Incentives - -Tangle Network is built on, Substrate, a powerful framework developed by Parity Technologies for creating blockchains. It comes with many built-in functionalities, allowing developers to customize their blockchain with an array of features. Among these features, staking and slashing play crucial roles in ensuring the security and robustness of Substrate-based networks. - -## Staking - -Staking is a system used by proof-of-stake (PoS) blockchains to secure the network, incentivize behavior, and distribute rewards. In Substrate, a number of nodes, known as validators, are selected to produce blocks and confirm transactions. Users can participate as: - -- **Validators**: Validators are responsible for proposing new blocks and validating proposed blocks. They need to be highly secure and continuously online. Validators stake their own tokens and can receive tokens from nominators. - -- **Nominators**: Nominators support validators by staking tokens on them. They share in the rewards and risks of validators, without needing to run a node themselves. - -Validators and nominators are rewarded with new tokens generated by the network, proportional to the amount of tokens they have staked. - -## Slashing - -To ensure validators behave properly, Substrate uses a mechanism known as slashing. If a validator misbehaves, a portion (or all) of their staked tokens are confiscated ("slashed") by the network. There are several types of misbehavior that can lead to slashing: - -- **Equivocation**: Equivocation occurs when a validator signs two or more conflicting blocks at the same height in the chain. It is considered a severe misbehavior as it could cause a fork in the network. - -- **Offline Validators**: Validators are expected to be online and participating in consensus. Validators who are offline for an extended period can be slashed. - -- **Malicious Behavior**: Any malicious actions against the network, like trying to manipulate consensus or carry out an attack, can result in slashing. - -## Misbehavior Reporting - -Substrate also includes mechanisms for reporting misbehavior. Any network participant can submit proof of validator misbehavior to the chain. If the proof is valid, the validator is slashed, and the reporter is usually rewarded with a portion of the slashed amount. - -## Malicious Signing - -A validator signing arbitrary or malicious messages is another significant misbehavior. This can include signing a message that would lead to equivocation or attempting to manipulate consensus. The penalty for malicious signing is typically severe, often resulting in the slashing of the validator's entire stake. diff --git a/pages/docs/learn/tss-governance.mdx b/pages/docs/learn/tss-governance.mdx deleted file mode 100644 index 4ef5138b..00000000 --- a/pages/docs/learn/tss-governance.mdx +++ /dev/null @@ -1,38 +0,0 @@ -# Threshold Signature Scheme (TSS) in Webb Protocol: Enhancing Bridge Governance - -## Introduction - -The Threshold Signature Scheme (TSS) plays a critical role in the Webb Protocol, an ecosystem for cross-chain and private dApps. One of the core components of the protocol is the private and multi-chain Hubble bridge, which facilitates seamless interoperability between different blockchains. In this document, we explore the problem that TSS solves and its significance in enhancing bridge governance specifically within the Webb Protocol ecosystem. - -## Bridge Governance - -Bridge governance presents a challenge when it comes to updating the state of bridge contracts with the corresponding parties on the other side of the bridge. Traditional approaches rely on trust in a single entity or a small group of participants to execute these updates. However, this centralized approach raises concerns regarding security, integrity, and potential manipulation of the bridge's state. - -## Solution: Decentralizing Trust with Threshold Signature Scheme (TSS) - -The Webb Protocol addresses the challenge of bridge governance by leveraging the power of the Threshold Signature Scheme. TSS decentralizes trust and introduces a robust mechanism for executing updates to the set of bridge contracts across different chains. - -Let's delve into the key advantages and improvements offered by TSS in the Webb Protocol context: - -1. Enhanced Security: - - - TSS utilizes a threshold of signatures (t+1) from a participating group of (t,n) parties. - - This distributed approach significantly reduces the risk of a single point of failure, collusion, or malicious behavior. - -2. Decentralization and Trustlessness: - - - TSS enables the Webb Protocol to achieve a decentralized bridge governance model. - - The (t,n) threshold can accommodate a large number of participants, ensuring a diverse and decentralized network of validators and signers. - -3. Resilience to Attacks: - - - TSS mitigates potential attacks, such as collusion or compromise of a single party. - - As long as the minimum threshold (t) is met, the system remains secure and resilient. - -4. Scalability and Flexibility: - - The flexibility of TSS allows the Webb Protocol to adapt and scale according to its evolving needs. - - The (t,n) threshold can be adjusted within certain limits to strike a balance between decentralization and performance. - -## Conclusion - -The incorporation of the Threshold Signature Scheme (TSS) within the Webb Protocol's bridge governance brings significant improvements in terms of security, decentralization, and resilience. TSS enables the protocol to execute updates to bridge contracts with the involvement of multiple parties, thereby decentralizing trust and mitigating risks associated with centralized approaches. By leveraging TSS, the Webb Protocol paves the way for a more secure and trustless environment specifically for cross-chain dApps, empowering users and fostering innovation in the blockchain space. diff --git a/pages/docs/learn/understanding-dkg-tangle.mdx b/pages/docs/learn/understanding-dkg-tangle.mdx deleted file mode 100644 index 49933d3c..00000000 --- a/pages/docs/learn/understanding-dkg-tangle.mdx +++ /dev/null @@ -1,74 +0,0 @@ -# Understanding DKG in Tangle Network - -import DKGRotationImages from '/components/images/DKGRotation' -import DKGReputationImages from '/components/images/DKGReputation' - -## Authority Selection - -The authority selection system for DKG authorities uses a simple reputation mechanism for selecting the best set -of authorities to participate in the key generation and signing protocols. The integer thresholds for keygen authorities -and signing authorities are set and governed on-chain and directly correspond to the number of DKG clients that will -participate in either protocols. - -For a keygen threshold of **_n_** and a signing threshold of **_t_**, we take the top-**_n_** authorities on chain by -reputation. Out of these **_n_** keygen authorities, **_t+1_** of them are selected for signing. The keygen set remains -fixed over the course of the session, whereas the signing set can change amidst misbehaviours in signing protocol participation. - -### Reputation Calculation - -The `pallet-dkg-metadata` is responsible for calculating and maintaining the reputation scores of all active validators. Reputation serves as a metric to assess and evaluate the authorities, taking into account the number of valid keygen operations performed by the authority and any reported misbehaviors. - -The misbehaviour reporting process is based on an honest-threshold assumption. If DKG authorities misbehave off-chain, any observing authority can submit a report against the offending authority. Once a threshold number of reports are submitted, the offending authority will experience a loss of reputation. The reputation map is used by each DKG authority to ensure that every authority can generate a deterministic signing set for threshold signing protocols. Initially, the signing set consists of the top `t` DKG authorities according to their reputation. - -The formula for updating reputation based on misbehaviour is as follows: - -``` -AUTHORITY_REPUTATION = DECAY_PERCENTAGE * AUTHORITY_REPUTATION -``` - -## Jailing authorities - -For each instance of misconduct that is verified and reported to an authority, the implicated authority will be temporarily suspended or "jailed" for a specific number of sessions. During this suspension, the authority will not be included in the selection process for the authority selection set. This serves as a punitive measure against malicious behaviour. The authority may be reinstated after a predetermined period of time has passed. - - - -## Key rotation - -The DKG required network participants to rotate their shared private signing keys in an effort to keep the -network secure. On a new session, the new authorities (from validators) are selected and the -next authorities are selected. - -1. These next authorities run **_keygen_** protocol discussed above and output a new group keypair on-chain, - denoted `next_dkg_public_key`. -2. The current authorities (having already run this process in the step before) see this event and if it is time - to refresh, they begin to sign the `next_dkg_public_key` with their key, the `dkg_public_key`. -3. The signature from the active keypair of the next keypair is posted on-chain. -4. Once this signature is posted, anyone can propagate it. - - Any relayer. - - Any user who wants to update the governor of their contract. - -### Key rotation flow - -The on-chain keys are rotated every session. This is done so that the DKG validators and network validators are -aligned and new validators can leave and join as desired. At the end of the session's target period, the Tangle -runtime triggers the process to generate a new key. A new distributed key generation protocol executes with the -next on-chain authorities. These authorities then work together to generate a new key. The active (current) authorities -then sign the newly generated key with a threshold signature and post it on-chain to complete a successful key rotation. - - - -## Misbehaviour Reporting & Reputation - -Misbehaviour reporting follows an oracle-based approach. The DKG protocol we utilize has identifiable aborts, meaning it is possible to identify the party misbehaving during the protocol’s execution. While every honest party sees this misbehaviour, it is tricky to identify on-chain, as it would require running the protocol itself on-chain and verifying the misbehaviour proof. - -Instead of pushing proofs of misbehaviour on-chain, we utilize a threshold voting-based approach. For a threshold **t** and offender **o**, if **t** parties report the same misbehaviour containing the type of misbehaviour, the round of misbehaviour, and the offending authority, then the party’s reputation reduces according to the function: - -``` -reputation(o) = α * reputation(o) -``` - -When a good action occurs, such as successfully rotating keys or signing a proposal and submitting it on-chain, the reputation increases according to the function: - -``` -reputation(o) = α * reputation(o) + 1,000,000,000 -``` diff --git a/pages/docs/learn/webb-protocol.mdx b/pages/docs/learn/webb-protocol.mdx deleted file mode 100644 index 8b2a1e38..00000000 --- a/pages/docs/learn/webb-protocol.mdx +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: "Tangle Network and Webb Protocol" ---- - -# Guide to Tangle Network and Webb Protocol - -Tangle Network and Webb Protocol join forces to enhance privacy, interoperability, and scalability for decentralized applications (dApps). This guide provides a detailed overview of Webb Protocol, its core components, and its role in the Tangle Network ecosystem. - -## Overview - -Webb Protocol aims to resolve privacy and scalability issues that have become ubiquitous in the world of decentralized applications. It achieves this by offering a privacy-focused, interoperable, and scalable framework that interacts with various blockchains. - -Tangle Network, a Substrate-based platform fully compatible with Ethereum, hosts and supports the governance of this transformative protocol to offer advanced privacy options and scalability to developers and users. - -## Core Components of Webb Protocol - -Webb Protocol introduces two pivotal components - the Anchor System and the Distributed Key Generation (DKG) protocol. - -### Anchor System - -The Anchor System is a smart contract-based, graph-like framework that maintains an interconnected network of blockchains, referred to as anchors. Each anchor features an on-chain Merkle tree and an edge list to manage and update linked metadata, enabling cross-chain applications with potential privacy features. - -The system guarantees Liveness and Safety— ensuring the continuous update of all anchors and validating all anchor updates. Oracle and Relayer Networks in a partially-synchronous environment connect the various blockchains and preserve user privacy by delegating proof submission through an overlay network. - -### Distributed Key Generation (DKG) protocol - -The DKG protocol is the security foundation of Webb Protocol. It validates updates in the Anchor System using a shared key pair. This protocol employs a cryptographic multi-party mechanism to generate a shared public and private key for threshold signatures and threshold encryptions. It encompasses two significant protocols— the threshold-key-generation protocol, and the threshold-signature-scheme or the distributed signing protocol. This secure framework handles signed messages and ensures the absence of malicious proposals. - -## Operations within a Proof of Stake (PoS) Blockchain - -Webb Protocol operates within a PoS blockchain protocol. It adapts to changing validator set sizes and maintains security with the execution of the Key Rotation Protocol and Misbehaviour Protocol during each session. The system uses standardized messages to facilitate seamless communication within the system. - -## Unique Features - -Webb Protocol employs a hybrid threshold and light-client validation protocol. It allows for threshold-signed messages to be deemed valid while enforcing message signing only when they can be verified as true against a light client. diff --git a/pages/docs/node/docker-node.mdx b/pages/docs/node/docker-node.mdx index 3fdd9a5b..cc813b54 100644 --- a/pages/docs/node/docker-node.mdx +++ b/pages/docs/node/docker-node.mdx @@ -21,7 +21,7 @@ set their keys, fetch the applicable chainspec and run the start command to get ```sh filename="pull" copy # Only use "main" if you know what you are doing, it will use the latest and maybe unstable version of the node. -docker pull ghcr.io/webb-tools/tangle/tangle-standalone:main +docker pull ghcr.io/webb-tools/tangle/tangle:main ``` ### 2. Create a local directory to store the chain data: @@ -55,7 +55,7 @@ Please make a reference where you have stored this `json` file as we will need i To start the node run the following command: ```sh filename="docker run" copy -docker run --rm -it -v /var/lib/tangle/:/data ghcr.io/webb-tools/tangle/tangle-standalone:main \ +docker run --rm -it -v /var/lib/tangle/:/data ghcr.io/webb-tools/tangle/tangle:main \ --chain tangle-testnet \ --name="YOUR-NODE-NAME" \ --base-path /data \ @@ -83,7 +83,7 @@ relay chain, which might take a few days. We need to generate the required keys for our node. For more information on these keys, please see the [Required Keys](/docs/ecosystem-roles/validator/required-keys) section. The keys we need to generate include the following: -- DKG key (Ecdsa) +- Role key (Ecdsa) - Aura key (Sr25519) - Account key (Sr25519) - Grandpa key (Ed25519) @@ -97,7 +97,7 @@ should paste your SURI when the command asks for it. ```sh filename="Acco" copy # it will ask for your suri, enter it. docker run --rm -it --platform linux/amd64 --network="host" -v "/var/lib/data" \ -ghcr.io/webb-tools/tangle/tangle-standalone:main \ +ghcr.io/webb-tools/tangle/tangle:main \ key insert --base-path /var/lib/tangle/ \ --chain /data/chainspecs/tangle-standalone.json \ --scheme Sr25519 \ @@ -108,7 +108,7 @@ ghcr.io/webb-tools/tangle/tangle-standalone:main \ ```sh filename="Aura" copy docker run --rm -it --platform linux/amd64 --network="host" -v "/var/lib/data" \ -ghcr.io/webb-tools/tangle/tangle-standalone:main \ +ghcr.io/webb-tools/tangle/tangle:main \ key insert --base-path /var/lib/tangle/ \ --chain /data/chainspecs/tangle-standalone.json \ --scheme Sr25519 \ @@ -119,29 +119,29 @@ ghcr.io/webb-tools/tangle/tangle-standalone:main \ ```sh filename="Imonline" copy docker run --rm -it --platform linux/amd64 --network="host" -v "/var/lib/data" \ -ghcr.io/webb-tools/tangle/tangle-standalone:main \ +ghcr.io/webb-tools/tangle/tangle:main \ key insert --base-path /var/lib/tangle/ \ --chain /data/chainspecs/tangle-standalone.json \ --scheme Sr25519 \ --key-type imon ``` -**DKG Keys** +**Role Keys** -```sh filename="DKG" copy +```sh filename="Role" copy docker run --rm -it --platform linux/amd64 --network="host" -v "/var/lib/data" \ -ghcr.io/webb-tools/tangle/tangle-standalone:main \ +ghcr.io/webb-tools/tangle/tangle:main \ tangle-standalone key insert --base-path /data \ --chain /data/chainspecs/tangle-standalone.json \ --scheme Ecdsa \ - --key-type wdkg + --key-type role ``` **Grandpa Keys** ```sh filename="Grandpa" copy docker run --rm -it --platform linux/amd64 --network="host" -v "/var/lib/data" \ -ghcr.io/webb-tools/tangle/tangle-standalone:main \ +ghcr.io/webb-tools/tangle/tangle:main \ tangle-standalone key insert --base-path /data \ --chain /data/chainspecs/tangle-standalone.json \ --scheme Ed25519 \ @@ -164,7 +164,7 @@ To start the node run the following command: ```sh filename="docker run" copy docker run --platform linux/amd64 --network="host" -v "/var/lib/data" --entrypoint ./tangle-standalone \ -ghcr.io/webb-tools/tangle/tangle-standalone:main \ +ghcr.io/webb-tools/tangle/tangle:main \ --base-path=/data \ --chain tangle-testnet \ --name="YOUR-NODE-NAME" \ @@ -246,10 +246,10 @@ The upgrade process is straightforward and is the same for a full node. sudo docker stop `CONTAINER_ID` ``` -2. Get the latest version of Tangle from the Tangle GitHub Release [page](https://github.com/webb-tools/tangle/pkgs/container/tangle%2Ftangle-standalone) +2. Get the latest version of Tangle from the Tangle GitHub Release [page](https://github.com/webb-tools/tangle/pkgs/container/tangle%2Ftangle -3. Pull the latest version of Tangle binary by doing `docker pull ghcr.io/webb-tools/tangle/tangle-standalone:{VERSION_CODE}`. - Example, if the latest version of Tangle is v0.1.2, then the command would be `docker pull ghcr.io/webb-tools/tangle/tangle-standalone:v0.1.12` +3. Pull the latest version of Tangle binary by doing `docker pull ghcr.io/webb-tools/tangle/tangle:{VERSION_CODE}`. + Example, if the latest version of Tangle is v0.1.2, then the command would be `docker pull ghcr.io/webb-tools/tangle/tangle:v0.1.12` 4. Restart the tangle container and you should have the updated version of the client. diff --git a/pages/docs/node/flags.mdx b/pages/docs/node/flags.mdx index 3d73482e..f7d0e21e 100644 --- a/pages/docs/node/flags.mdx +++ b/pages/docs/node/flags.mdx @@ -77,7 +77,7 @@ Confirm the path and image with your image name: ``` docker run --network="host" -v "/var/lib/data:/data" -u $(id -u ${USER}):$(id -g ${USER}) -ghcr.io/webb-tools/tangle/tangle-standalone:main --help +ghcr.io/webb-tools/tangle/tangle:main --help ``` ### Using Systemd: diff --git a/pages/docs/node/systemd.mdx b/pages/docs/node/systemd.mdx index 39ee712c..d8d463a8 100644 --- a/pages/docs/node/systemd.mdx +++ b/pages/docs/node/systemd.mdx @@ -136,7 +136,7 @@ rustup target add wasm32-unknown-unknown --toolchain nightly We need to generate the required keys for our node. For more information on these keys, please see the [Required Keys](https://wiki.polkadot.network/docs/learn-cryptography) section. The keys we need to generate include the following: - - DKG key (Ecdsa) + - Role key (Ecdsa) - Aura key (Sr25519) - Account key (Sr25519) - Grandpa key (Ed25519) @@ -178,15 +178,15 @@ rustup target add wasm32-unknown-unknown --toolchain nightly --key-type imon ``` - **DKG Keys** + **Role Keys** - ```sh filename="DKG" copy + ```sh filename="Role" copy # it will ask for your suri, enter it. ./target/release/tangle-standalone key insert --base-path /data/validator/ \ --chain ./chainspecs/tangle-standalone.json \ --scheme Ecdsa \ --suri <"12-MNEMONIC-PHARSE"> \ - --key-type wdkg + --key-type role ``` **Grandpa Keys** diff --git a/pages/docs/node/troubleshooting.mdx b/pages/docs/node/troubleshooting.mdx index d46c751c..4fce8f53 100644 --- a/pages/docs/node/troubleshooting.mdx +++ b/pages/docs/node/troubleshooting.mdx @@ -8,18 +8,10 @@ import Callout from '/components/Callout'; ## Troubleshooting -**Logs** +### Logs If you'd like to run the node with verbose logs, you may add the following arguments during initial setup. Adjust the target for the desired logging level (debug | error | info| trace | warn): -```bash --ldkg=debug \ --ldkg_metadata=debug \ --lruntime::offchain=debug \ --ldkg_proposal_handler=debug \ --ldkg_proposals=debug -``` - ### P2P Ports Not Open @@ -63,14 +55,6 @@ After installation, ensure you've added /opt/homebrew/bin to your PATH: echo 'export PATH=/opt/homebrew/bin:$PATH' >> ~/.bash_profile ``` -#### Building dkg-substrate - -To build dkg-substrate in --release mode using the aarch64-apple-darwin Rust toolchain, set the required environment variables: - -```bash -echo 'export RUSTFLAGS="-L /opt/homebrew/lib"' >> ~/.bash_profile -``` - #### Dependencies 1. GMP: Ensure the gmp dependency is correctly installed. diff --git a/pages/docs/node/validator/requirements.mdx b/pages/docs/node/validator/requirements.mdx index e3a9a9e1..827209ba 100644 --- a/pages/docs/node/validator/requirements.mdx +++ b/pages/docs/node/validator/requirements.mdx @@ -85,7 +85,7 @@ Your bonded account will available under `Stashes.` You should now see a new car In order to participate in the distributed key generation (DKG) protocol, block production, and block finalization, you will be required to set up several keys. These keys include: -- DKG key (Ecdsa) +- Role key (Ecdsa) - Aura key (Sr25519) - Account key (Sr25519) - Grandpa key (Ed25519) From ccdaf8198745a8319f73df09390252e6335bba69 Mon Sep 17 00:00:00 2001 From: salman01zp Date: Wed, 3 Jan 2024 20:02:52 +0530 Subject: [PATCH 02/20] fix links and systemd cmds --- components/CommonActions.tsx | 4 ++-- pages/docs/node/flags.mdx | 2 +- pages/docs/node/node-software.mdx | 2 +- pages/docs/node/systemd.mdx | 14 +++++++------- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/components/CommonActions.tsx b/components/CommonActions.tsx index c79c67fc..baf5b58e 100644 --- a/components/CommonActions.tsx +++ b/components/CommonActions.tsx @@ -14,14 +14,14 @@ const features = [ Icon: ServerIcon, title: "Node Deployment", description: `Want to spin up a full node on the Tangle Network? We've made it easier than ever!`, - href: "/docs/tangle-network/node/docker-node", + href: "/docs/node/docker-node", action: "Deploy a Docker Node", }, { Icon: ServerIcon, title: "Validators", description: `Start your journey on Tangle Network. This guide will walk you through the steps to become a validator, ensuring network security and integrity.`, - href: "/docs/tangle-network/node/quickstart/", + href: "/docs/node/quickstart/", action: "Launch a Quick Validator Node", }, { diff --git a/pages/docs/node/flags.mdx b/pages/docs/node/flags.mdx index f7d0e21e..055c3a27 100644 --- a/pages/docs/node/flags.mdx +++ b/pages/docs/node/flags.mdx @@ -88,7 +88,7 @@ If you used the binary directly: If you compiled the binary: -`./target/release/tangle-standalone-YOUR-VERSION-HERE> --help` +`./target/release/tangle-YOUR-VERSION-HERE> --help` Currently, your release may be one the following. diff --git a/pages/docs/node/node-software.mdx b/pages/docs/node/node-software.mdx index 885d46b1..e1496327 100644 --- a/pages/docs/node/node-software.mdx +++ b/pages/docs/node/node-software.mdx @@ -148,7 +148,7 @@ You will now have the `tangle-standalone` binary built in `target/release/` dir Once installed, you can begin syncing your node by running the following command. **Your path may vary depend on whether you used the binary, or built from source**: ```sh filename="Syncing node" copy -./target/release/tangle-standalone +./target/release/tangle ``` Once your node has fully syncronized with Tangle Network you may proceed to setup the diff --git a/pages/docs/node/systemd.mdx b/pages/docs/node/systemd.mdx index d8d463a8..3856ae7a 100644 --- a/pages/docs/node/systemd.mdx +++ b/pages/docs/node/systemd.mdx @@ -58,7 +58,7 @@ rustup target add wasm32-unknown-unknown --toolchain nightly ```sh filename="mv" copy # Move the tangle-standalone binary to the bin directory (assumes you are in repo root directory) - sudo mv ./target/release/tangle-standalone /usr/bin/ + sudo mv ./target/release/tangle /usr/bin/ ``` Add the following contents to the service configuration file. Make sure to replace the **USERNAME** with the username you created in the previous step, add your own node name, and update @@ -149,7 +149,7 @@ rustup target add wasm32-unknown-unknown --toolchain nightly ```sh filename="Acco" copy # it will ask for your suri, enter it. - ./target/release/tangle-standalone key insert --base-path /data/validator/ \ + ./target/release/tangle key insert --base-path /data/validator/ \ --chain ./chainspecs/tangle-standalone.json \ --scheme Sr25519 \ --suri <"12-MNEMONIC-PHARSE"> \ @@ -160,7 +160,7 @@ rustup target add wasm32-unknown-unknown --toolchain nightly ```sh filename="Aura" copy # it will ask for your suri, enter it. - ./target/release/tangle-standalone key insert --base-path /data/validator/ \ + ./target/release/tangle key insert --base-path /data/validator/ \ --chain ./chainspecs/tangle-standalone.json \ --scheme Sr25519 \ --suri <"12-MNEMONIC-PHARSE"> \ @@ -171,7 +171,7 @@ rustup target add wasm32-unknown-unknown --toolchain nightly ```sh filename="Imonline" copy # it will ask for your suri, enter it. - ./target/release/tangle-standalone key insert --base-path /data/validator/ \ + ./target/release/tangle key insert --base-path /data/validator/ \ --chain ./chainspecs/tangle-standalone.json \ --scheme Sr25519 \ --suri <"12-MNEMONIC-PHARSE"> \ @@ -182,7 +182,7 @@ rustup target add wasm32-unknown-unknown --toolchain nightly ```sh filename="Role" copy # it will ask for your suri, enter it. - ./target/release/tangle-standalone key insert --base-path /data/validator/ \ + ./target/release/tangle key insert --base-path /data/validator/ \ --chain ./chainspecs/tangle-standalone.json \ --scheme Ecdsa \ --suri <"12-MNEMONIC-PHARSE"> \ @@ -193,7 +193,7 @@ rustup target add wasm32-unknown-unknown --toolchain nightly ```sh filename="Grandpa" copy # it will ask for your suri, enter it. - ./target/release/tangle-standalone key insert --base-path /data/validator/ \ + ./target/release/tangle key insert --base-path /data/validator/ \ --chain ./chainspecs/tangle-standalone.json \ --scheme Ed25519 \ --suri <"12-MNEMONIC-PHARSE"> \ @@ -213,7 +213,7 @@ rustup target add wasm32-unknown-unknown --toolchain nightly ```sh filename="mv" copy # Move the tangle-standalone binary to the bin directory (assumes you are in repo root directory) - sudo mv ./target/release/tangle-standalone /usr/bin/ + sudo mv ./target/release/tangle /usr/bin/ ``` Add the following contents to the service configuration file. Make sure to replace the **USERNAME** with the username you created in the previous step, add your own node name, and update any paths or ports to your own preference. From 7de92972c7bc16b090391bda9b821efd94bcaf63 Mon Sep 17 00:00:00 2001 From: salman01zp Date: Wed, 3 Jan 2024 20:05:00 +0530 Subject: [PATCH 03/20] update testnet config --- components/NetworkConfig.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/components/NetworkConfig.tsx b/components/NetworkConfig.tsx index a5cdf8b7..1b7e7558 100644 --- a/components/NetworkConfig.tsx +++ b/components/NetworkConfig.tsx @@ -98,14 +98,14 @@ const NetworkInfo = () => { type: "Testnet", symbol: "tTNT", decimals: 18, - chainId: "4006", - rpcUrl: "https://rpc.tangle.tools", - wssUrl: "wss://rpc.tangle.tools", + chainId: "4007", + rpcUrl: "https://testnet-rpc.tangle.tools", + wssUrl: "wss://testnet-rpc.tangle.tools", explorerUrls: [ { name: "BlockScout", url: "https://explorer.tangle.tools" }, { name: "PolkadotJS", - url: "https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frpc.tangle.tools#/explorer", + url: "https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftestnet-rpc.tangle.tools#/explorer", }, ], fundingInfo: { From 8c8ded1f3b71f673aee082196e5b90e368ce169a Mon Sep 17 00:00:00 2001 From: salman01zp Date: Wed, 3 Jan 2024 20:09:28 +0530 Subject: [PATCH 04/20] update funding your account section --- pages/docs/network-information-configuration.mdx | 1 - 1 file changed, 1 deletion(-) diff --git a/pages/docs/network-information-configuration.mdx b/pages/docs/network-information-configuration.mdx index 0b8b3e4c..b1e301c6 100644 --- a/pages/docs/network-information-configuration.mdx +++ b/pages/docs/network-information-configuration.mdx @@ -43,7 +43,6 @@ Before starting development on our TestNets, fund your account with tTNT tokens, | Network | Source For Tokens | | -------------- | -------------------------- | | Tangle Testnet | https://faucet.webb.tools/ | -| Tangle Mainnet | To be announced | ## Development Tools From 7abf04d0f3d9e36ad9b304d79b7fb561c84aff2b Mon Sep 17 00:00:00 2001 From: salman01zp Date: Wed, 3 Jan 2024 20:19:49 +0530 Subject: [PATCH 05/20] update network configuration --- .../network-information-configuration.mdx | 37 +++++++++++++------ 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/pages/docs/network-information-configuration.mdx b/pages/docs/network-information-configuration.mdx index b1e301c6..1f22eec4 100644 --- a/pages/docs/network-information-configuration.mdx +++ b/pages/docs/network-information-configuration.mdx @@ -8,20 +8,35 @@ title: Tangle Network - Getting Started Guide for Developers Before you dive into development, it's crucial to familiarize yourself with the different networks within the Tangle ecosystem. -| Network | Network Type | Native Asset Symbol | Native Asset Decimals | -| -------------- | ------------ | ------------------- | --------------------- | -| Tangle Network | MainNet | TNT | 18 | -| Tangle Testnet | TestNet | tTNT | 18 | -## Network Configurations +## Tangle Mainnet -Developer tools may require specific configurations for the Tangle Network. Use the following details: +Developer tools may require specific configurations for the Tangle Mainnet. Use the following details: -| Variable | Value | -| --------------- | -------------------------- | -| Chain ID | 4006 | -| Public RPC URLs | `https://rpc.tangle.tools` | -| Public WSS URLs | `wss://rpc.tangle.tools` | +| Variable | Value | +| --------------- | -----------------------------------| +| Network | Tangle Mainnet | +| Chain ID | 4006 | +| Asset Decimals | 18 | +| Token Symbol | TNT | +| Public RPC URLs | `https://rpc.tangle.tools` | +| Public WSS URLs | `wss://rpc.tangle.tools` | + + + +## Tangle Testnet + +Developer tools may require specific configurations for the Tangle Testnet. Use the following details: + +| Variable | Value | +| --------------- | -----------------------------------| +| Network | Tangle Testnet | +| Chain ID | 4007 | +| Asset Decimals | 18 | +| Token Symbol | tTNT | +| Public RPC URLs | `https://testnet-rpc.tangle.tools` | +| Public WSS URLs | `wss://testnet-rpc.tangle.tools` | +| Faucet | `https://faucet.webb.tools/` | ## Types for Chain Integration From 4df29e411e081a386689769185e048d5a706de66 Mon Sep 17 00:00:00 2001 From: salman01zp Date: Wed, 3 Jan 2024 20:23:39 +0530 Subject: [PATCH 06/20] fix links --- components/QuickStart.tsx | 4 ++-- pages/docs/build/deploy-using-hardhat.mdx | 2 +- pages/docs/governance/democracy-voting.mdx | 2 +- pages/docs/governance/overview.mdx | 2 +- pages/docs/node/quickstart.mdx | 2 +- pages/docs/node/systemd.mdx | 2 +- pages/docs/node/validator/requirements.mdx | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/components/QuickStart.tsx b/components/QuickStart.tsx index 8c6ad130..66e3b6cc 100644 --- a/components/QuickStart.tsx +++ b/components/QuickStart.tsx @@ -18,7 +18,7 @@ export const QuickStartArea = () => { description: `Start your journey on Tangle Network. This guide will walk you through the steps to become a validator, ensuring network security and integrity.`, name: "Validate on Tangle Network", }} - href="/docs/tangle-network/node/quickstart/" + href="/docs/node/quickstart/" > ); @@ -49,7 +49,7 @@ export const DeployArea = () => { description: `Want to spin up a full node on the Tangle Network? We've made it easier than ever!`, name: "Deploy a Tangle Node!", }} - href="/docs/tangle-network/node/docker-node" + href="/docs/node/docker-node" > ); diff --git a/pages/docs/build/deploy-using-hardhat.mdx b/pages/docs/build/deploy-using-hardhat.mdx index 702b71fb..7f3cc30d 100644 --- a/pages/docs/build/deploy-using-hardhat.mdx +++ b/pages/docs/build/deploy-using-hardhat.mdx @@ -60,7 +60,7 @@ module.exports = {
Tangle Chain Information -You can view the latest details on networks, chainIDs, RPC URLs on the [Network Information and Configurations](/docs/tangle-network/getting-started/network-information-configuration/) page. +You can view the latest details on networks, chainIDs, RPC URLs on the [Network Information and Configurations](/docs/network-information-configuration/) page.
Replace `` with the RPC URL of the Tangle Network. Replace `` with the private key of the account that will be used to deploy the contracts. `` should be replaced with the ChainId of the Tangle Network. diff --git a/pages/docs/governance/democracy-voting.mdx b/pages/docs/governance/democracy-voting.mdx index 26851a89..a1602f0a 100644 --- a/pages/docs/governance/democracy-voting.mdx +++ b/pages/docs/governance/democracy-voting.mdx @@ -28,4 +28,4 @@ Note: This guide assumes you have already set up a Substrate-based wallet and ha 8. **Wait for the Voting Period to End:** Each referendum has a voting period. When this period ends, votes are tallied, and the decision is enacted based on the majority vote. -Remember that **voting in a referendum will lock your tokens until the end of the enactment period (if the proposal passes) or until the end of the voting period (if the proposal does not pass).** The length of these periods can vary, refer to [our parameters.](/docs/tangle-network/governance/governance-parameters/) +Remember that **voting in a referendum will lock your tokens until the end of the enactment period (if the proposal passes) or until the end of the voting period (if the proposal does not pass).** The length of these periods can vary, refer to [our parameters.](/docs/governance/governance-parameters/) diff --git a/pages/docs/governance/overview.mdx b/pages/docs/governance/overview.mdx index 2b6bc6a0..d16831e6 100644 --- a/pages/docs/governance/overview.mdx +++ b/pages/docs/governance/overview.mdx @@ -22,7 +22,7 @@ The governance system of Tangle Network is divided into two parts, the public re Proposals can be made by any token holder. Others can agree with the proposal by seconding it and providing tokens equivalent to the original bond. The most seconded proposal during every launch period is moved to the public referenda table for active voting. Voters can lock their tokens for a longer duration to amplify their vote. -Detailed information on the governance system can be found [here](/docs/tangle-network/governance/overview/). +Detailed information on the governance system can be found [here](/docs/governance/overview/). ## Important Parameters for Democracy Module diff --git a/pages/docs/node/quickstart.mdx b/pages/docs/node/quickstart.mdx index 83f85c21..d2f8456e 100644 --- a/pages/docs/node/quickstart.mdx +++ b/pages/docs/node/quickstart.mdx @@ -14,7 +14,7 @@ is a collection of quick links for quick setups! ## Validators -Please see our new **[Start Validating guide.](/docs/tangle-network/node/validator/requirements)** +Please see our new **[Start Validating guide.](/docs/node/validator/requirements)** ## Quick Setup for Node Operators diff --git a/pages/docs/node/systemd.mdx b/pages/docs/node/systemd.mdx index 3856ae7a..fbae2d06 100644 --- a/pages/docs/node/systemd.mdx +++ b/pages/docs/node/systemd.mdx @@ -325,7 +325,7 @@ rustup target add wasm32-unknown-unknown --toolchain nightly #### Bond TNT and setup validator Account After your node is synced, you are ready to setup keys and onboard as a validator, make sure to complete the steps - at [Start Validating](/docs/tangle-network/node/validator/requirements) to start validating. + at [Start Validating](/docs/node/validator/requirements) to start validating. diff --git a/pages/docs/node/validator/requirements.mdx b/pages/docs/node/validator/requirements.mdx index 827209ba..108ce176 100644 --- a/pages/docs/node/validator/requirements.mdx +++ b/pages/docs/node/validator/requirements.mdx @@ -91,7 +91,7 @@ In order to participate in the distributed key generation (DKG) protocol, block - Grandpa key (Ed25519) - ImOnline key (Sr25519) -See the guides for [launching Tangle Network with Docker](/docs/tangle-network/validator/deploy-with-docker/validator-node/) and [Launching with Systemd](/docs/tangle-network/validator/systemd/validator-node/) for exact guides on this step. +See the guides for [launching Tangle Network with Docker](/docs/validator/deploy-with-docker/validator-node/) and [Launching with Systemd](/docs/validator/systemd/validator-node/) for exact guides on this step. Once your node and keys are setup and your node is synced, proceed to the following: From 2089917203bc795c3674bedcd7e8e683037f4d0c Mon Sep 17 00:00:00 2001 From: salman01zp Date: Wed, 3 Jan 2024 20:36:50 +0530 Subject: [PATCH 07/20] update faqs --- pages/docs/faqs.mdx | 93 +++++++++++++-------------------------------- 1 file changed, 27 insertions(+), 66 deletions(-) diff --git a/pages/docs/faqs.mdx b/pages/docs/faqs.mdx index eb8d67fe..c26625c4 100644 --- a/pages/docs/faqs.mdx +++ b/pages/docs/faqs.mdx @@ -1,16 +1,16 @@ # General FAQ: Frequently Asked questions -Q: Where can I get help? +## Where can I get help? -A: Our Discord is the best place to get assistance with your node or other questions about the project. See http://webb.tools/community for links to that Discord and more. +Our Discord is the best place to get assistance with your node or other questions about the project. See http://webb.tools/community for links to that Discord and more. -Q: How do I stay up to date? +## How do I stay up to date? -A: All upgrades and important technical information are announced on Discord and Twitter, in the #tangle-network channel. See http://webb.tools/community for links to that Discord and more. +All upgrades and important technical information are announced on Discord and Twitter, in the #tangle-network channel. See http://webb.tools/community for links to that Discord and more. -Q: What are the hardware requirements? +## What are the hardware requirements? -A: The following specifications are the ideal or recommended, but nodes can be run with less. Testnet nodes have also been run using AWS `t3.Large` instances. +The following specifications are the ideal or recommended, but nodes can be run with less. Testnet nodes have also been run using AWS `t3.Large` instances. | Component | Requirements | | --------- | ------------------------------------------------------------------------------------------------------ | @@ -21,18 +21,19 @@ A: The following specifications are the ideal or recommended, but nodes can be r See https://docs.webb.tools/docs/ecosystem-roles/validator/requirements/ for more information. -Q: What about backup nodes? +## What about backup nodes? -A: We recommedend that you run two machines with the same specifications, in different countries and service providers in order to decentralize and make your services more robust. If your primary fails you can quickly resume services on your backup and continue to produce blocks and earn rewards. Please refer to the Q&A on failovers below. +We recommedend that you run two machines with the same specifications, in different countries and service providers in order to decentralize and make your services more robust. If your primary fails you can quickly resume services on your backup and continue to produce blocks and earn rewards. Please refer to the Q&A on failovers below. -Q: What are the different networks? +## What are the different networks? -A: There are three networks, each will require dedicated hardware. The Moonbase Alpha TestNet is free and should be used to familiarize yourself with the setup. +There are two networks, each will require dedicated hardware. The Tangle TestNet is free and should be used to familiarize yourself with the setup. Tangle Network - Mainnet, not launched yet. + Tangle Testnet - Launched. -Q: What ports do I allow on my firewall? +## What ports do I allow on my firewall? As stated before, the standalone nodes will listen on multiple ports. The default Substrate ports are used in the standalone, while the relay chain will listen on the next higher port. @@ -53,74 +54,34 @@ The only ports that need to be open for incoming traffic are those designated fo | WS | 9944 | | Prometheus | 9615 | -Q: Is there a binary? +## Is there a binary? -A: We're working on this, check back soon! +We're working on this, check back soon! -Q: What are the recommendations on monitoring my node? +## What are the recommendations on monitoring my node? -A: Monitoring is critical for success as a node operator. See our full Monitoring guide at https://docs.webb.tools/docs/ecosystem-roles/validator/monitoring/quickstart// +Monitoring is critical for success as a node operator. See our full Monitoring guide at https://docs.webb.tools/docs/ecosystem-roles/validator/monitoring/quickstart// -Q: What are the KPIs I should be monitoring? +## What are the KPIs I should be monitoring? -A: The main key performance indicator for a node operator is the number of blocks produced. The prometheus metric for this is called substrate_proposer_block_constructed_count. +The main key performance indicator for a node operator is the number of blocks produced. The prometheus metric for this is called substrate_proposer_block_constructed_count. -Q: How should I setup alerting? +## How should I setup alerting? -A: Alerting is critical for your success as a node operator, see our full guide to using our recommended AlertManager at https://docs.webb.tools/docs/ecosystem-roles/validator/monitoring/alert-manager/ +Alerting is critical for your success as a node operator, see our full guide to using our recommended AlertManager at https://docs.webb.tools/docs/ecosystem-roles/validator/monitoring/alert-manager/ -Q: What is the failover process if my primary node is down? +## What is the failover process if my primary node is down? -A: When the primary server is down, the best way to perform a failover to the backup server is to perform a key association update. Each server should have a unique set of keys already. Run the setKeys author mapping extrinsic. You can follow the Mapping Extrinsic instructions and modify the instructions to use the setKeys extrinsic. +When the primary server is down, the best way to perform a failover to the backup server is to perform a key association update. Each server should have a unique set of keys already. Run the setKeys author mapping extrinsic. You can follow the Mapping Extrinsic instructions and modify the instructions to use the setKeys extrinsic. -Q: What should I look for in the logs? +## What should I look for in the logs? -A: For full support, see our guides on logging at https://docs.webb.tools/docs/ecosystem-roles/validator/monitoring/loki/ . +For full support, see our guides on logging at https://docs.webb.tools/docs/ecosystem-roles/validator/monitoring/loki/ . -Q: How much stake do I need to become an validator in the active set? +## How much stake do I need to become an validator in the active set? Per era, the NPoS system selects a certain number of nodes with the most TNT to validate. Therefore, minimum amount required to become an active nominator and earn rewards may change from era to era. You can check the active validator set's stake at https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftangle-standalone-archive.webb.tools#/staking -Q: How do I set an identity on my account? - -A: Setting an identity on chain will help to identify your node and attract delegations. You can set an identity by following the instructions on Polkadot's Identity Documentation at https://wiki.polkadot.network/docs/learn-identity - -## Privacy and Security FAQs - -**Q: How does Webb Protocol ensure the privacy and security of its users?** - -A: Webb Protocol employs cutting-edge privacy technologies, such as zero-knowledge proofs, distributed key generation, and secure relayer systems, to maintain the privacy and security of users' assets and information. - -## Anchor System and Relayer System - -**Q: Can you explain the role of the Anchor System and the Relayer System in the Webb Protocol?** - -A: The Anchor System connects merkle trees on different blockchains, ensuring liveness and safety. The Relayer System acts as an oracle, data relayer, and protocol governance participant, relaying information for connected Anchors and enhancing the overall security of the system. - -**Q: How does the Anchor System work, and what is its significance in the Webb Protocol?** - -A: The Anchor System connects merkle trees on different blockchains using a graph-like framework, allowing anchors to maintain the latest state of their neighboring anchors. This interconnectedness enables users to prove the existence of data in any anchor from any anchor, satisfying the properties of liveness and safety. - -**Q: What role do relayers play in the Webb Protocol, and how do they contribute to the overall security of the system?** - -A: Relayers in the Webb Protocol serve as multi-faceted oracles, data relayers, and protocol governance participants. They relay information for a connected set of anchors on a bridge, updating each anchor's state and allowing applications to reference data stored across connected anchors. By fulfilling their roles, relayers enhance the overall security of the system. - -**Q: Can you explain the Distributed Key Generation (DKG) protocol and its significance in ensuring the safety and liveness of the Anchor System?** - -A: The DKG protocol governs the Anchor System by acting as a security tool. Trust is placed in the DKG to sign the data it is meant to sign, ensuring bridge updates are valid. The protocol guarantees the safety and liveness of the Anchor System, maintaining its ability to be updated in a partially-synchronous environment while ensuring all updates are valid. - -## Cross-Chain and Asset Transfers - -**Q: What are the benefits of using Tangle Network** - -A: Tangle Network employs a set of technologies that faciliate secure and private governance and easy bridging of cross-chain and private applications, in ways that improve the privacy of all applications that connect. - -**Q: What advantages does Hubble Bridge offer for users?** - -A: Hubble Bridge offers an easy-to-use interface for privately moving assets cross-chain, leveraging Webb's Shielded Asset Protocol for secure and private transactions. This allows users to maintain privacy while transferring assets between blockchains efficiently. - -## Collaboration, Governance, and Platform - -**Q: What are the latest innovations and research in the field of privacy and blockchain that Webb Protocol is working on?** +## How do I set an identity on my account? -A: Webb Protocol is continually working on innovations in privacy and blockchain, focusing on areas such as zero-knowledge proofs, cross-chain privacy solutions, secure messaging, and privacy-preserving identity systems. +Setting an identity on chain will help to identify your node and attract delegations. You can set an identity by following the instructions on Polkadot's Identity Documentation at https://wiki.polkadot.network/docs/learn-identity From b09912f86f47dcfcaec8cd034316735ea46ceafd Mon Sep 17 00:00:00 2001 From: salman01zp Date: Wed, 3 Jan 2024 20:38:54 +0530 Subject: [PATCH 08/20] update tangle release version --- pages/docs/node/quicknode.mdx | 4 ++-- pages/docs/node/systemd.mdx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/docs/node/quicknode.mdx b/pages/docs/node/quicknode.mdx index d6088d24..b91ef24d 100644 --- a/pages/docs/node/quicknode.mdx +++ b/pages/docs/node/quicknode.mdx @@ -22,10 +22,10 @@ Use the latest release version in the url in place of ``, you can visit wget https://github.com/webb-tools/tangle/releases/download//tangle-standalone-linux-amd64 ``` -For example, at the time of writing this document, the latest release is v0.4.7 and the link would be as follows +For example, at the time of writing this document, the latest release is v0.5.0 and the link would be as follows ``` -wget https://github.com/webb-tools/tangle/releases/download/v0.4.7/tangle-standalone-linux-amd64 +wget https://github.com/webb-tools/tangle/releases/download/v0.5.0/tangle-standalone-linux-amd64 ``` ### 2. Start the node binary diff --git a/pages/docs/node/systemd.mdx b/pages/docs/node/systemd.mdx index fbae2d06..8848c14b 100644 --- a/pages/docs/node/systemd.mdx +++ b/pages/docs/node/systemd.mdx @@ -21,10 +21,10 @@ Use the latest release version in the url in place of ``, you can visit wget https://github.com/webb-tools/tangle/releases/download//tangle-standalone-linux-amd64 ``` -For example, at the time of writing this document, the latest release is v0.4.7 and the link would be as follows +For example, at the time of writing this document, the latest release is v0.5.0 and the link would be as follows ``` -wget https://github.com/webb-tools/tangle/releases/download/v0.4.7/tangle-standalone-linux-amd64 +wget https://github.com/webb-tools/tangle/releases/download/v0.5.0/tangle-standalone-linux-amd64 ``` ### 2. Install Dependencies From bc5e4b123a4a0127119a08a44770a9e1b190936b Mon Sep 17 00:00:00 2001 From: salman01zp Date: Wed, 3 Jan 2024 20:42:42 +0530 Subject: [PATCH 09/20] remove dkg pallet --- pages/docs/build/pallets/_meta.json | 1 - pages/docs/network-information-configuration.mdx | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/pages/docs/build/pallets/_meta.json b/pages/docs/build/pallets/_meta.json index 23cce300..969b1d14 100644 --- a/pages/docs/build/pallets/_meta.json +++ b/pages/docs/build/pallets/_meta.json @@ -3,7 +3,6 @@ "democracy": "Democracy Pallet", "collectives": "Collectives Pallet", "identity": "Identity Pallet", - "crosschain-pallets": "Cross-chain Pallets", "balances-and-accounts": "Balances Pallet", "consensus-mechanism": "nPoS and the Staking Pallet", "frontier": "Frontier (EVM) Pallets", diff --git a/pages/docs/network-information-configuration.mdx b/pages/docs/network-information-configuration.mdx index 1f22eec4..9792280f 100644 --- a/pages/docs/network-information-configuration.mdx +++ b/pages/docs/network-information-configuration.mdx @@ -9,16 +9,16 @@ title: Tangle Network - Getting Started Guide for Developers Before you dive into development, it's crucial to familiarize yourself with the different networks within the Tangle ecosystem. -## Tangle Mainnet +## Tangle Network -Developer tools may require specific configurations for the Tangle Mainnet. Use the following details: +Developer tools may require specific configurations for the Tangle Network. Use the following details: | Variable | Value | | --------------- | -----------------------------------| -| Network | Tangle Mainnet | +| Network | Tangle Network (Mainnet) | | Chain ID | 4006 | | Asset Decimals | 18 | -| Token Symbol | TNT | +| Token Symbol | TNT | | Public RPC URLs | `https://rpc.tangle.tools` | | Public WSS URLs | `wss://rpc.tangle.tools` | From b9523318f89444189846f57436bf6321a23d0da1 Mon Sep 17 00:00:00 2001 From: salman01zp Date: Wed, 3 Jan 2024 20:48:38 +0530 Subject: [PATCH 10/20] yarn format --- pages/docs/faqs.mdx | 28 +++++++++---------- .../network-information-configuration.mdx | 21 ++++++-------- 2 files changed, 23 insertions(+), 26 deletions(-) diff --git a/pages/docs/faqs.mdx b/pages/docs/faqs.mdx index c26625c4..958051ff 100644 --- a/pages/docs/faqs.mdx +++ b/pages/docs/faqs.mdx @@ -1,14 +1,14 @@ # General FAQ: Frequently Asked questions -## Where can I get help? +## Where can I get help? Our Discord is the best place to get assistance with your node or other questions about the project. See http://webb.tools/community for links to that Discord and more. -## How do I stay up to date? +## How do I stay up to date? All upgrades and important technical information are announced on Discord and Twitter, in the #tangle-network channel. See http://webb.tools/community for links to that Discord and more. -## What are the hardware requirements? +## What are the hardware requirements? The following specifications are the ideal or recommended, but nodes can be run with less. Testnet nodes have also been run using AWS `t3.Large` instances. @@ -21,11 +21,11 @@ The following specifications are the ideal or recommended, but nodes can be run See https://docs.webb.tools/docs/ecosystem-roles/validator/requirements/ for more information. -## What about backup nodes? +## What about backup nodes? We recommedend that you run two machines with the same specifications, in different countries and service providers in order to decentralize and make your services more robust. If your primary fails you can quickly resume services on your backup and continue to produce blocks and earn rewards. Please refer to the Q&A on failovers below. -## What are the different networks? +## What are the different networks? There are two networks, each will require dedicated hardware. The Tangle TestNet is free and should be used to familiarize yourself with the setup. @@ -33,7 +33,7 @@ Tangle Network - Mainnet, not launched yet. Tangle Testnet - Launched. -## What ports do I allow on my firewall? +## What ports do I allow on my firewall? As stated before, the standalone nodes will listen on multiple ports. The default Substrate ports are used in the standalone, while the relay chain will listen on the next higher port. @@ -54,34 +54,34 @@ The only ports that need to be open for incoming traffic are those designated fo | WS | 9944 | | Prometheus | 9615 | -## Is there a binary? +## Is there a binary? We're working on this, check back soon! -## What are the recommendations on monitoring my node? +## What are the recommendations on monitoring my node? Monitoring is critical for success as a node operator. See our full Monitoring guide at https://docs.webb.tools/docs/ecosystem-roles/validator/monitoring/quickstart// -## What are the KPIs I should be monitoring? +## What are the KPIs I should be monitoring? The main key performance indicator for a node operator is the number of blocks produced. The prometheus metric for this is called substrate_proposer_block_constructed_count. -## How should I setup alerting? +## How should I setup alerting? Alerting is critical for your success as a node operator, see our full guide to using our recommended AlertManager at https://docs.webb.tools/docs/ecosystem-roles/validator/monitoring/alert-manager/ -## What is the failover process if my primary node is down? +## What is the failover process if my primary node is down? When the primary server is down, the best way to perform a failover to the backup server is to perform a key association update. Each server should have a unique set of keys already. Run the setKeys author mapping extrinsic. You can follow the Mapping Extrinsic instructions and modify the instructions to use the setKeys extrinsic. -## What should I look for in the logs? +## What should I look for in the logs? For full support, see our guides on logging at https://docs.webb.tools/docs/ecosystem-roles/validator/monitoring/loki/ . -## How much stake do I need to become an validator in the active set? +## How much stake do I need to become an validator in the active set? Per era, the NPoS system selects a certain number of nodes with the most TNT to validate. Therefore, minimum amount required to become an active nominator and earn rewards may change from era to era. You can check the active validator set's stake at https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftangle-standalone-archive.webb.tools#/staking -## How do I set an identity on my account? +## How do I set an identity on my account? Setting an identity on chain will help to identify your node and attract delegations. You can set an identity by following the instructions on Polkadot's Identity Documentation at https://wiki.polkadot.network/docs/learn-identity diff --git a/pages/docs/network-information-configuration.mdx b/pages/docs/network-information-configuration.mdx index 9792280f..9a5414b3 100644 --- a/pages/docs/network-information-configuration.mdx +++ b/pages/docs/network-information-configuration.mdx @@ -8,28 +8,25 @@ title: Tangle Network - Getting Started Guide for Developers Before you dive into development, it's crucial to familiarize yourself with the different networks within the Tangle ecosystem. - ## Tangle Network Developer tools may require specific configurations for the Tangle Network. Use the following details: -| Variable | Value | -| --------------- | -----------------------------------| -| Network | Tangle Network (Mainnet) | -| Chain ID | 4006 | -| Asset Decimals | 18 | -| Token Symbol | TNT | -| Public RPC URLs | `https://rpc.tangle.tools` | -| Public WSS URLs | `wss://rpc.tangle.tools` | - - +| Variable | Value | +| --------------- | -------------------------- | +| Network | Tangle Network (Mainnet) | +| Chain ID | 4006 | +| Asset Decimals | 18 | +| Token Symbol | TNT | +| Public RPC URLs | `https://rpc.tangle.tools` | +| Public WSS URLs | `wss://rpc.tangle.tools` | ## Tangle Testnet Developer tools may require specific configurations for the Tangle Testnet. Use the following details: | Variable | Value | -| --------------- | -----------------------------------| +| --------------- | ---------------------------------- | | Network | Tangle Testnet | | Chain ID | 4007 | | Asset Decimals | 18 | From fba2a2cc789d9f8c4734450cf78dc78997e49ed3 Mon Sep 17 00:00:00 2001 From: salman01zp Date: Thu, 4 Jan 2024 22:03:44 +0530 Subject: [PATCH 11/20] update aura keys to babe --- pages/docs/node/docker-node.mdx | 8 ++++---- pages/docs/node/systemd.mdx | 8 ++++---- pages/docs/node/validator/requirements.mdx | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pages/docs/node/docker-node.mdx b/pages/docs/node/docker-node.mdx index cc813b54..b26a5e49 100644 --- a/pages/docs/node/docker-node.mdx +++ b/pages/docs/node/docker-node.mdx @@ -84,7 +84,7 @@ We need to generate the required keys for our node. For more information on thes The keys we need to generate include the following: - Role key (Ecdsa) -- Aura key (Sr25519) +- Babe key (Sr25519) - Account key (Sr25519) - Grandpa key (Ed25519) - ImOnline key (Sr25519) @@ -104,15 +104,15 @@ ghcr.io/webb-tools/tangle/tangle:main \ --key-type acco ``` -**Aura Keys** +**Babe Keys** -```sh filename="Aura" copy +```sh filename="Babe" copy docker run --rm -it --platform linux/amd64 --network="host" -v "/var/lib/data" \ ghcr.io/webb-tools/tangle/tangle:main \ key insert --base-path /var/lib/tangle/ \ --chain /data/chainspecs/tangle-standalone.json \ --scheme Sr25519 \ - --key-type aura + --key-type babe ``` **Im-online Keys** - **these keys are optional (required if you are running as a validator)** diff --git a/pages/docs/node/systemd.mdx b/pages/docs/node/systemd.mdx index 8848c14b..acc840d7 100644 --- a/pages/docs/node/systemd.mdx +++ b/pages/docs/node/systemd.mdx @@ -137,7 +137,7 @@ rustup target add wasm32-unknown-unknown --toolchain nightly The keys we need to generate include the following: - Role key (Ecdsa) - - Aura key (Sr25519) + - Babe key (Sr25519) - Account key (Sr25519) - Grandpa key (Ed25519) - ImOnline key (Sr25519) @@ -156,15 +156,15 @@ rustup target add wasm32-unknown-unknown --toolchain nightly --key-type acco ``` - **Aura Keys** + **Babe Keys** - ```sh filename="Aura" copy + ```sh filename="Babe" copy # it will ask for your suri, enter it. ./target/release/tangle key insert --base-path /data/validator/ \ --chain ./chainspecs/tangle-standalone.json \ --scheme Sr25519 \ --suri <"12-MNEMONIC-PHARSE"> \ - --key-type aura + --key-type babe ``` **Im-online Keys** - **these keys are optional** diff --git a/pages/docs/node/validator/requirements.mdx b/pages/docs/node/validator/requirements.mdx index 108ce176..a35e4954 100644 --- a/pages/docs/node/validator/requirements.mdx +++ b/pages/docs/node/validator/requirements.mdx @@ -27,7 +27,7 @@ In the future, validators may be able to participate in other forms of reward-wi
-2. **Setting Up Validator Infrastructure:** This includes ensuring that the node is properly configured, connected to the network, has the necessary keys set up, etc. Part of this setup will involve generating and injecting session keys (like DKG, Aura, Grandpa, etc.) which are crucial for various consensus and validation processes. +2. **Setting Up Validator Infrastructure:** This includes ensuring that the node is properly configured, connected to the network, has the necessary keys set up, etc. Part of this setup will involve generating and injecting session keys (like RoleKey, Babe, Grandpa, etc.) which are crucial for various consensus and validation processes. 3. **Nominating or Registering as a Validator:** After bonding tokens and setting up the validator node, the operator then registers or nominate their node as a validator candidate. This involves submitting a transaction to the network indicating their intention to validate. @@ -86,7 +86,7 @@ Your bonded account will available under `Stashes.` You should now see a new car In order to participate in the distributed key generation (DKG) protocol, block production, and block finalization, you will be required to set up several keys. These keys include: - Role key (Ecdsa) -- Aura key (Sr25519) +- Babe key (Sr25519) - Account key (Sr25519) - Grandpa key (Ed25519) - ImOnline key (Sr25519) From 9ea6a3c0762abff14aafcef5898fb168a171837c Mon Sep 17 00:00:00 2001 From: salman01zp Date: Thu, 4 Jan 2024 22:08:53 +0530 Subject: [PATCH 12/20] update aura reference --- pages/docs/node/validator/validator-rewards.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/docs/node/validator/validator-rewards.mdx b/pages/docs/node/validator/validator-rewards.mdx index 3168e931..e022cc74 100644 --- a/pages/docs/node/validator/validator-rewards.mdx +++ b/pages/docs/node/validator/validator-rewards.mdx @@ -5,7 +5,7 @@ description: A brief overview of Tangle Network rewards and their payout scheme. # Validator Rewards -Running a [validator](validation.mdx) node on the Tangle Network allows you to connect to the network, sync with a bootnode, obtain local access to RPC endpoints, and also author blocks. The network rewards successful validators (users running validator nodes and actively producing blocks) by paying a set amount of network tokens as rewards. Validators are chosen using an algorithm [AURA](https://docs.substrate.io/reference/glossary/#authority-round-aura) that works to give every validator in the active set, a chance at authoring a block. +Running a [validator](validation.mdx) node on the Tangle Network allows you to connect to the network, sync with a bootnode, obtain local access to RPC endpoints, and also author blocks. The network rewards successful validators (users running validator nodes and actively producing blocks) by paying a set amount of network tokens as rewards. ## How Rewards are Calculated From 0ca378d84eb181e00b1c693779355db1734590a1 Mon Sep 17 00:00:00 2001 From: salman01zp Date: Thu, 4 Jan 2024 22:29:32 +0530 Subject: [PATCH 13/20] update log command --- pages/docs/node/troubleshooting.mdx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pages/docs/node/troubleshooting.mdx b/pages/docs/node/troubleshooting.mdx index 4fce8f53..59c7d655 100644 --- a/pages/docs/node/troubleshooting.mdx +++ b/pages/docs/node/troubleshooting.mdx @@ -12,6 +12,12 @@ import Callout from '/components/Callout'; If you'd like to run the node with verbose logs, you may add the following arguments during initial setup. Adjust the target for the desired logging level (debug | error | info| trace | warn): +```bash +RUST_LOG=runtime=debug ./target/release/ --dev +``` + +Refer substrate [doc](https://docs.substrate.io/test/debug/) for more details + ### P2P Ports Not Open From 28865d5b42f9d6d12401c582a4891d348fe5e720 Mon Sep 17 00:00:00 2001 From: salman01zp Date: Thu, 4 Jan 2024 22:31:57 +0530 Subject: [PATCH 14/20] yarn format --- pages/docs/node/troubleshooting.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/docs/node/troubleshooting.mdx b/pages/docs/node/troubleshooting.mdx index 59c7d655..fc1a7efb 100644 --- a/pages/docs/node/troubleshooting.mdx +++ b/pages/docs/node/troubleshooting.mdx @@ -16,7 +16,7 @@ If you'd like to run the node with verbose logs, you may add the following argum RUST_LOG=runtime=debug ./target/release/ --dev ``` -Refer substrate [doc](https://docs.substrate.io/test/debug/) for more details +Refer substrate [doc](https://docs.substrate.io/test/debug/) for more details From 404be4983e170ed3b906a7b646f93090c8cf5076 Mon Sep 17 00:00:00 2001 From: salman01zp Date: Thu, 4 Jan 2024 23:01:13 +0530 Subject: [PATCH 15/20] fix more dead links --- components/NetworkConfig.tsx | 1 + components/TangleQuickstart.tsx | 14 +++++++------- pages/docs/faqs.mdx | 6 +++--- pages/docs/network-information-configuration.mdx | 2 +- pages/docs/node/docker-node.mdx | 2 +- pages/docs/node/monitoring/alert-manager.mdx | 2 +- pages/docs/node/monitoring/grafana.mdx | 2 +- pages/docs/node/monitoring/loki.mdx | 2 +- pages/docs/node/monitoring/prometheus.mdx | 2 +- pages/docs/node/quicknode.mdx | 6 +++--- pages/docs/node/systemd.mdx | 5 ++--- 11 files changed, 22 insertions(+), 22 deletions(-) diff --git a/components/NetworkConfig.tsx b/components/NetworkConfig.tsx index 1b7e7558..cf253967 100644 --- a/components/NetworkConfig.tsx +++ b/components/NetworkConfig.tsx @@ -101,6 +101,7 @@ const NetworkInfo = () => { chainId: "4007", rpcUrl: "https://testnet-rpc.tangle.tools", wssUrl: "wss://testnet-rpc.tangle.tools", + prefix: "Testnet addresses will start with prefix tt", explorerUrls: [ { name: "BlockScout", url: "https://explorer.tangle.tools" }, { diff --git a/components/TangleQuickstart.tsx b/components/TangleQuickstart.tsx index ecd7ebd1..05b6716e 100644 --- a/components/TangleQuickstart.tsx +++ b/components/TangleQuickstart.tsx @@ -17,7 +17,7 @@ export const QuickDeployArea = () => { description: `Deploy a Tangle node in two steps`, name: "Quick Deployment", }} - href="/docs/ecosystem-roles/validator/systemd/quick-node/" + href="/docs/node/quicknode/" > ); @@ -32,7 +32,7 @@ export const DeployArea = () => { description: `Deploy a Tangle node in minutes using Docker.`, name: "Deploy with Docker", }} - href="/docs/ecosystem-roles/validator/deploy-with-docker/full-node/" + href="/docs/node/docker-node/" > { description: `Run a Tangle node using Systemd.`, name: "Run with Systemd", }} - href="/docs/ecosystem-roles/validator/systemd/full-node/" + href="/docs/node/systemd/" /> ); @@ -78,7 +78,7 @@ export const MonitoringArea = () => { description: `Power your metrics and alerting with the leading open-source monitoring solution.`, name: "Prometheus Setup", }} - href="docs/ecosystem-roles/validator/monitoring/prometheus/" + href="docs/node/monitoring/prometheus/" > { description: `Handle alerts sent by client applications such as the Prometheus server`, name: "AlertManager Setup", }} - href="/docs/ecosystem-roles/validator/monitoring/alert-manager/" + href="/docs/node/monitoring/alert-manager/" > { description: `Visualize results from multiple data sources simultaneously.`, name: "Grafana Dashboards", }} - href="/docs/ecosystem-roles/validator/monitoring/grafana/" + href="/docs/node/monitoring/grafana/" > { description: `Horizontally scalable, highly available, multi-tenant log aggregation system.`, name: "Loki Log Management", }} - href="/docs/ecosystem-roles/validator/monitoring/loki/" + href="/docs/node/monitoring/loki/" > ); diff --git a/pages/docs/faqs.mdx b/pages/docs/faqs.mdx index 958051ff..014e0c4f 100644 --- a/pages/docs/faqs.mdx +++ b/pages/docs/faqs.mdx @@ -60,7 +60,7 @@ We're working on this, check back soon! ## What are the recommendations on monitoring my node? -Monitoring is critical for success as a node operator. See our full Monitoring guide at https://docs.webb.tools/docs/ecosystem-roles/validator/monitoring/quickstart// +Monitoring is critical for success as a node operator. See our full Monitoring guide at https://docs.webb.tools/docs/node/monitoring/quickstart// ## What are the KPIs I should be monitoring? @@ -68,7 +68,7 @@ The main key performance indicator for a node operator is the number of blocks p ## How should I setup alerting? -Alerting is critical for your success as a node operator, see our full guide to using our recommended AlertManager at https://docs.webb.tools/docs/ecosystem-roles/validator/monitoring/alert-manager/ +Alerting is critical for your success as a node operator, see our full guide to using our recommended AlertManager at https://docs.webb.tools/docs/node/monitoring/alert-manager/ ## What is the failover process if my primary node is down? @@ -76,7 +76,7 @@ When the primary server is down, the best way to perform a failover to the backu ## What should I look for in the logs? -For full support, see our guides on logging at https://docs.webb.tools/docs/ecosystem-roles/validator/monitoring/loki/ . +For full support, see our guides on logging at https://docs.webb.tools/docs/node/monitoring/loki/ . ## How much stake do I need to become an validator in the active set? diff --git a/pages/docs/network-information-configuration.mdx b/pages/docs/network-information-configuration.mdx index 9a5414b3..c041e1d6 100644 --- a/pages/docs/network-information-configuration.mdx +++ b/pages/docs/network-information-configuration.mdx @@ -70,7 +70,7 @@ As an Ethereum-compatible, Substrate-based chain, Tangle Network allows for the ## Participating in the Tangle Network -Joining the Tangle Network community is easy. You can run a node, develop a Dapp, or contribute to our open-source codebase. For more information, visit our [Node Operation Guide](/docs/ecosystem-roles/role-overview/), and [Contribution Guide](/docs/contribute). +Joining the Tangle Network community is easy. You can run a node, develop a Dapp, or contribute to our open-source codebase. For more information, visit our [Node Operation Guide](/docs/node/quickstart/), and [Contribution Guide](/docs/contribute). ## Looking Ahead: Mainnet Launches diff --git a/pages/docs/node/docker-node.mdx b/pages/docs/node/docker-node.mdx index b26a5e49..3b074020 100644 --- a/pages/docs/node/docker-node.mdx +++ b/pages/docs/node/docker-node.mdx @@ -9,7 +9,7 @@ import { Tabs } from 'nextra/components'; # Deploying a Tangle Network Node with Docker A Tangle Network node can be spun up quickly using Docker. **This guide covers both Full Node and Validator Node deployment.** . For more information on installing Docker, -please visit the official Docker [docs](https://docs.docker.com/get-docker/). Make sure that your system meets the requirements which can read [here](https://docs.webb.tools/docs/ecosystem-roles/validator/requirements/). +please visit the official Docker [docs](https://docs.docker.com/get-docker/). Make sure that your system meets the requirements which can read [here](docs/node/hardware/). ## Setup the Docker Environment diff --git a/pages/docs/node/monitoring/alert-manager.mdx b/pages/docs/node/monitoring/alert-manager.mdx index 26f849ae..26032b2f 100644 --- a/pages/docs/node/monitoring/alert-manager.mdx +++ b/pages/docs/node/monitoring/alert-manager.mdx @@ -9,7 +9,7 @@ import Callout from "../../../../components/Callout"; # Alert Manager Setup The following is a guide outlining the steps to setup AlertManager to send alerts when a Tangle node or DKG is being disrupted. If you do not have Tangle node setup yet, please -review the **Tangle Node Quickstart** setup guide [here](/docs/ecosystem-roles/validator/quickstart/). +review the **Tangle Node Quickstart** setup guide [here](/docs/node/quickstart/). In this guide we will configure the following modules to send alerts from a running Tangle node. diff --git a/pages/docs/node/monitoring/grafana.mdx b/pages/docs/node/monitoring/grafana.mdx index 8d69c3e0..11d9a187 100644 --- a/pages/docs/node/monitoring/grafana.mdx +++ b/pages/docs/node/monitoring/grafana.mdx @@ -9,7 +9,7 @@ import Callout from "../../../../components/Callout"; # Grafana Setup The following is a guide outlining the steps to setup Grafana Dashboard to visualize metric data for a Tangle node. If you do not have Tangle node setup yet, please -review the **Tangle Node Quickstart** setup guide [here](/docs/ecosystem-roles/validator/quickstart/). +review the **Tangle Node Quickstart** setup guide [here](/docs/node/quickstart/). In this guide we will configure the following modules to visualize metric data from a running Tangle node. diff --git a/pages/docs/node/monitoring/loki.mdx b/pages/docs/node/monitoring/loki.mdx index 9180b220..722660e8 100644 --- a/pages/docs/node/monitoring/loki.mdx +++ b/pages/docs/node/monitoring/loki.mdx @@ -9,7 +9,7 @@ import Callout from "../../../../components/Callout"; # Loki Log Management The following is a guide outlining the steps to setup Loki for log management of a Tangle node. If you do not have Tangle node setup yet, please -review the **Tangle Node Quickstart** setup guide [here](/docs/ecosystem-roles/validator/quickstart/). +review the **Tangle Node Quickstart** setup guide [here](/docs/node/quickstart/). In this guide we will configure the following modules to scrape metrics from the running Tangle node. diff --git a/pages/docs/node/monitoring/prometheus.mdx b/pages/docs/node/monitoring/prometheus.mdx index 21f9eacc..e2b5d652 100644 --- a/pages/docs/node/monitoring/prometheus.mdx +++ b/pages/docs/node/monitoring/prometheus.mdx @@ -9,7 +9,7 @@ import Callout from "../../../../components/Callout"; # Prometheus Setup The following is a guide outlining the steps to setup Prometheus to monitor a Tangle node. If you do not have Tangle node setup yet, please -review the **Tangle Node Quickstart** setup guide [here](/docs/ecosystem-roles/validator/quickstart/). It is important to note that +review the **Tangle Node Quickstart** setup guide [here](/docs/node/quickstart/). It is important to note that this guide's purpose is to help you get started with monitoring your Tangle node, not to advise on how to setup a node securely. Please take additional security and privacy measures into consideration. diff --git a/pages/docs/node/quicknode.mdx b/pages/docs/node/quicknode.mdx index b91ef24d..94526b1a 100644 --- a/pages/docs/node/quicknode.mdx +++ b/pages/docs/node/quicknode.mdx @@ -6,11 +6,11 @@ description: Run a Tangle Validator node using systemd. # Tangle Validator Quickstart **Caution:** The following guide is only meant as a quickstart for anyone looking to run a tangle node with minimal -config, this guide uses automated keys and it is not recommended to run a validator using this setup long term, refer to [advanced](/docs/ecosystem-roles/validator/systemd/validator-node/) guide +config, this guide uses automated keys and it is not recommended to run a validator using this setup long term, refer to [advanced](/docs/node/systemd/) guide for a more secure long term setup. Before following this guide you should have already set up your machines environment, installed the dependencies, and -compiled the Tangle binary. If you have not done so, please refer to the [Requirements](/docs/ecosystem-roles/validator/requirements/) page. +compiled the Tangle binary. If you have not done so, please refer to the [Requirements](/docs/node/hardware/) page. ## Standalone Testnet @@ -85,6 +85,6 @@ If the node is running correctly, you should see an output similar to below: make sure to note down and keep this safely, in case you need to migrate or restart your node, these keys are essential. Congratulations! You have officially setup an Tangle Network node. The quickstart is only meant as a quickstart for anyone looking to run a tangle node with minimal -config, this guide uses automated keys and it is not recommended to run a validator using this setup long term, refer to [advanced](/docs/ecosystem-roles/validator/systemd/validator-node/) guide +config, this guide uses automated keys and it is not recommended to run a validator using this setup long term, refer to [advanced](/docs/node/systemd/) guide for a more secure long term setup.. If you are interested in learning how to setup monitoring for your node, please refer to the [monitoring](../monitoring/quickstart.mdx) page. diff --git a/pages/docs/node/systemd.mdx b/pages/docs/node/systemd.mdx index acc840d7..1f04f0ec 100644 --- a/pages/docs/node/systemd.mdx +++ b/pages/docs/node/systemd.mdx @@ -9,10 +9,9 @@ import { Tabs } from 'nextra/components' You can run your **full** or **validator** node as a systemd process so that it will automatically restart on server reboots or crashes, helping to avoid getting slashed. This guide now includes additional steps for setting up dependencies and Rust configuration, ensuring a smoother setup process. -Before following this guide, ensure that your machine's environment is set up and the Tangle binary is compiled. If you haven't done so, please refer to the [Requirements](https://docs.webb.tools/docs/ecosystem-roles/validator/requirements/) page. +Before following this guide, ensure that your machine's environment is set up and the Tangle binary is compiled. If you haven't done so, please refer to the [Requirements](docs/node/hardware/) page. ## Setup - ### 1. Fetch the Tangle Network Binary Use the latest release version in the url in place of ``, you can visit [releases](https://github.com/webb-tools/tangle/releases) page to view the latest info @@ -330,7 +329,7 @@ rustup target add wasm32-unknown-unknown --toolchain nightly The following is the service configuration file, use this while completing the Full Node guide. - **Note:** To run with evm trace, you should use a binary built with `txpool` flag, refer [requirements](/docs/ecosystem-roles/validator/requirements/) page for more details. + **Note:** To run with evm trace, you should use a binary built with `txpool` flag, refer [requirements](/docs/node/hardware/) page for more details. ```sh filename="full.service" copy sudo tee /etc/systemd/system/full.service > /dev/null << EOF From 16288627631dd10d0d4a66e39949967b311ee7f4 Mon Sep 17 00:00:00 2001 From: salman01zp Date: Thu, 4 Jan 2024 23:02:36 +0530 Subject: [PATCH 16/20] Yarn format --- pages/docs/node/systemd.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/docs/node/systemd.mdx b/pages/docs/node/systemd.mdx index 1f04f0ec..2ebf4775 100644 --- a/pages/docs/node/systemd.mdx +++ b/pages/docs/node/systemd.mdx @@ -12,6 +12,7 @@ You can run your **full** or **validator** node as a systemd process so that it Before following this guide, ensure that your machine's environment is set up and the Tangle binary is compiled. If you haven't done so, please refer to the [Requirements](docs/node/hardware/) page. ## Setup + ### 1. Fetch the Tangle Network Binary Use the latest release version in the url in place of ``, you can visit [releases](https://github.com/webb-tools/tangle/releases) page to view the latest info From 42dfd1f440811a902339bc7c2efc2a260f3d7b9d Mon Sep 17 00:00:00 2001 From: salman01zp Date: Fri, 5 Jan 2024 20:49:17 +0530 Subject: [PATCH 17/20] add address prefix info in network information --- components/NetworkConfig.tsx | 1 - pages/docs/network-information-configuration.mdx | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/components/NetworkConfig.tsx b/components/NetworkConfig.tsx index cf253967..1b7e7558 100644 --- a/components/NetworkConfig.tsx +++ b/components/NetworkConfig.tsx @@ -101,7 +101,6 @@ const NetworkInfo = () => { chainId: "4007", rpcUrl: "https://testnet-rpc.tangle.tools", wssUrl: "wss://testnet-rpc.tangle.tools", - prefix: "Testnet addresses will start with prefix tt", explorerUrls: [ { name: "BlockScout", url: "https://explorer.tangle.tools" }, { diff --git a/pages/docs/network-information-configuration.mdx b/pages/docs/network-information-configuration.mdx index c041e1d6..078a5e5d 100644 --- a/pages/docs/network-information-configuration.mdx +++ b/pages/docs/network-information-configuration.mdx @@ -21,6 +21,8 @@ Developer tools may require specific configurations for the Tangle Network. Use | Public RPC URLs | `https://rpc.tangle.tools` | | Public WSS URLs | `wss://rpc.tangle.tools` | +Address for Tangle Network are prefixed with `tg` like `tgGmBRR5yM53bvq8tTzgsUirpPtfCXngYYU7uiihmWFJhmYGM`. + ## Tangle Testnet Developer tools may require specific configurations for the Tangle Testnet. Use the following details: @@ -35,6 +37,8 @@ Developer tools may require specific configurations for the Tangle Testnet. Use | Public WSS URLs | `wss://testnet-rpc.tangle.tools` | | Faucet | `https://faucet.webb.tools/` | +Address for Tangle Testnet are prefixed with `tt` like `ttFELSU4MTyzpfsgZ9tFinrmox7pV7nF1BLbfYjsu4rfDYM74`. + ## Types for Chain Integration To find the latest types for Tangle Network, [visit the lookup.tsx file in our Github repo.](https://github.com/webb-tools/tangle/blob/main/types/src/interfaces/lookup.ts) It automatically produces a full file of the types for the network on changes. From 0dfcebd98c28b61eb2e9b12056c24c369c4f8c34 Mon Sep 17 00:00:00 2001 From: salman01zp Date: Mon, 15 Jan 2024 22:05:46 +0530 Subject: [PATCH 18/20] fix post merge --- .../network-information-configuration.mdx | 33 ------------------- 1 file changed, 33 deletions(-) diff --git a/pages/docs/network-information-configuration.mdx b/pages/docs/network-information-configuration.mdx index 21bcbee1..eeb6f2b5 100644 --- a/pages/docs/network-information-configuration.mdx +++ b/pages/docs/network-information-configuration.mdx @@ -17,39 +17,6 @@ Before you dive into development, it's crucial to familiarize yourself with the Developer tools may require specific configurations for the Tangle Network. Use the following details: -<<<<<<< HEAD -| Variable | Value | -| --------------- | -------------------------- | -| Network | Tangle Network (Mainnet) | -| Chain ID | 4006 | -| Asset Decimals | 18 | -| Token Symbol | TNT | -| Public RPC URLs | `https://rpc.tangle.tools` | -| Public WSS URLs | `wss://rpc.tangle.tools` | -======= -| Variable | Value | -| --------------- | ---------------------------------- | -| Chain ID | 3799 | -| Public RPC URLs | `https://testnet-rpc.tangle.tools` | -| Public WSS URLs | `wss://testnet-rpc.tangle.tools` | ->>>>>>> origin/main - -Address for Tangle Network are prefixed with `tg` like `tgGmBRR5yM53bvq8tTzgsUirpPtfCXngYYU7uiihmWFJhmYGM`. - -## Tangle Testnet - -Developer tools may require specific configurations for the Tangle Testnet. Use the following details: - -| Variable | Value | -| --------------- | ---------------------------------- | -| Network | Tangle Testnet | -| Chain ID | 4007 | -| Asset Decimals | 18 | -| Token Symbol | tTNT | -| Public RPC URLs | `https://testnet-rpc.tangle.tools` | -| Public WSS URLs | `wss://testnet-rpc.tangle.tools` | -| Faucet | `https://faucet.webb.tools/` | - | Variable | Value | | --------------- | ---------------------------------- | | Chain ID | 3799 | From 992ca266d8b81788df3c9dbeafecc5311bca49b5 Mon Sep 17 00:00:00 2001 From: salman01zp Date: Mon, 15 Jan 2024 22:18:21 +0530 Subject: [PATCH 19/20] update tangle release version --- pages/docs/node/quicknode.mdx | 4 ++-- pages/docs/node/systemd.mdx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/docs/node/quicknode.mdx b/pages/docs/node/quicknode.mdx index 215be393..352a75fc 100644 --- a/pages/docs/node/quicknode.mdx +++ b/pages/docs/node/quicknode.mdx @@ -22,10 +22,10 @@ Use the latest release version in the url in place of ``, you can visit wget https://github.com/webb-tools/tangle/releases/download//tangle-testnet-linux-amd64 ``` -For example, at the time of writing this document, the latest release is v0.5.0 and the link would be as follows +For example, at the time of writing this document, the latest release is v0.6.1 and the link would be as follows ``` -wget https://github.com/webb-tools/tangle/releases/download/v0.5.0/tangle-standalone-linux-amd64 +wget https://github.com/webb-tools/tangle/releases/download/v0.6.1/tangle-testnet-linux-amd64 ``` ### 2. Start the node binary diff --git a/pages/docs/node/systemd.mdx b/pages/docs/node/systemd.mdx index d278e97f..692ce613 100644 --- a/pages/docs/node/systemd.mdx +++ b/pages/docs/node/systemd.mdx @@ -21,10 +21,10 @@ Use the latest release version in the url in place of ``, you can visit wget https://github.com/webb-tools/tangle/releases/download//tangle-testnet-linux-amd64 ``` -For example, at the time of writing this document, the latest release is v0.5.0 and the link would be as follows +For example, at the time of writing this document, the latest release is v0.6.1 and the link would be as follows ``` -wget https://github.com/webb-tools/tangle/releases/download/v0.5.0/tangle-standalone-linux-amd64 +wget https://github.com/webb-tools/tangle/releases/download/v0.6.1/tangle-testnet-linux-amd64 ``` ### 2. Install Dependencies From 231c9d2eb0f39528af2e8d5ba960a2266fd47ae8 Mon Sep 17 00:00:00 2001 From: Thom Ivy <38070512+thomivy@users.noreply.github.com> Date: Mon, 15 Jan 2024 17:45:39 -0600 Subject: [PATCH 20/20] Edited a few typos --- pages/docs/faqs.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pages/docs/faqs.mdx b/pages/docs/faqs.mdx index 014e0c4f..1d3c90b7 100644 --- a/pages/docs/faqs.mdx +++ b/pages/docs/faqs.mdx @@ -1,12 +1,12 @@ -# General FAQ: Frequently Asked questions +# General FAQ: Frequently Asked Questions ## Where can I get help? -Our Discord is the best place to get assistance with your node or other questions about the project. See http://webb.tools/community for links to that Discord and more. +Our Discord is the best place to get assistance with your node or other questions about the project. See http://webb.tools/community for links to Discord and more. ## How do I stay up to date? -All upgrades and important technical information are announced on Discord and Twitter, in the #tangle-network channel. See http://webb.tools/community for links to that Discord and more. +All upgrades and important technical information are announced on Discord and Twitter, in the #tangle-network channel. See http://webb.tools/community for links to Discord and more. ## What are the hardware requirements? @@ -23,7 +23,7 @@ See https://docs.webb.tools/docs/ecosystem-roles/validator/requirements/ for mor ## What about backup nodes? -We recommedend that you run two machines with the same specifications, in different countries and service providers in order to decentralize and make your services more robust. If your primary fails you can quickly resume services on your backup and continue to produce blocks and earn rewards. Please refer to the Q&A on failovers below. +We recommend that you run two machines with the same specifications, in different countries and service providers to decentralize and make your services more robust. If your primary fails you can quickly resume services on your backup and continue to produce blocks and earn rewards. Please refer to the Q&A on failovers below. ## What are the different networks? @@ -58,15 +58,15 @@ The only ports that need to be open for incoming traffic are those designated fo We're working on this, check back soon! -## What are the recommendations on monitoring my node? +## What are the recommendations for monitoring my node? Monitoring is critical for success as a node operator. See our full Monitoring guide at https://docs.webb.tools/docs/node/monitoring/quickstart// ## What are the KPIs I should be monitoring? -The main key performance indicator for a node operator is the number of blocks produced. The prometheus metric for this is called substrate_proposer_block_constructed_count. +The main key performance indicator for a node operator is the number of blocks produced. The Prometheus metric for this is called substrate_proposer_block_constructed_count. -## How should I setup alerting? +## How should I set up alerting? Alerting is critical for your success as a node operator, see our full guide to using our recommended AlertManager at https://docs.webb.tools/docs/node/monitoring/alert-manager/ @@ -76,12 +76,12 @@ When the primary server is down, the best way to perform a failover to the backu ## What should I look for in the logs? -For full support, see our guides on logging at https://docs.webb.tools/docs/node/monitoring/loki/ . +For full support, see our guides on logging at https://docs.webb.tools/docs/node/monitoring/loki/. -## How much stake do I need to become an validator in the active set? +## How much stake do I need to become a validator in the active set? -Per era, the NPoS system selects a certain number of nodes with the most TNT to validate. Therefore, minimum amount required to become an active nominator and earn rewards may change from era to era. You can check the active validator set's stake at https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftangle-standalone-archive.webb.tools#/staking +Per era, the NPoS system selects a certain number of nodes with the most TNT to validate. Therefore, the minimum amount required to become an active nominator and earn rewards may change from era to era. You can check the active validator set's stake at https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftangle-standalone-archive.webb.tools#/staking ## How do I set an identity on my account? -Setting an identity on chain will help to identify your node and attract delegations. You can set an identity by following the instructions on Polkadot's Identity Documentation at https://wiki.polkadot.network/docs/learn-identity +Setting an identity on-chain will help to identify your node and attract delegations. You can set an identity by following the instructions on Polkadot's Identity Documentation at https://wiki.polkadot.network/docs/learn-identity