Table of Contents |
---|
What is Dusk Network Testnet Rei (レイ)? |
Specification Requirements |
Installation Guide |
Features |
Upcoming Features |
How to use the wallet? |
Dusk Network Testnet Rei (レイ) is the second iteration of the publicly-available implementation of the Dusk Network protocol. This iteration addresses stability issues and refines the user experience for node operators. It features an all-new upgraded design for the consensus implementation, as well as a more user-friendly way of managing the node and using the wallet.
Dusk Network is a privacy-oriented blockchain protocol, that anyone can use to create zero-knowledge dApps. The Dusk Network protocol is secured via Segregated Byzantine Agreement consensus protocol. Segregated Byzantine Agreement is a permission-less consensus protocol with statistical block finality. Segregated Byzantine Agreement also includes Proof of Blind Bid, a novel Private Proof-of-Stake implementation, that enables Block Generators to stake anonymously.
CPU | RAM | Storage | Network Connection |
---|---|---|---|
2 cores; 2 GHz | 1 GB | 60 GB | 1 Mbps |
CPU | RAM | Storage | Network Connection |
---|---|---|---|
4 cores; 2 GHz | 4 GB | 250 GB | 10 Mbps |
This guide is for building the node from source. If you would like to just download the compiled program, head over to the releases page, which should include a pre-built DUSK node, a pre-built blind bid executable, and a pre-built wallet executable.
NOTE: This guide assumes you are building and running from a UNIX-like operating system. The node is not tested on Windows.
Go 1.13 or newer.
Optional - if you wish to participate in consensus: the latest version of Rust
First, download the codebase and it's dependencies into your $GOPATH by running:
go get github.com/dusk-network/dusk-blockchain
Then, navigate to the testnet folder, like so:
cd $GOPATH/src/github.com/dusk-network/dusk-blockchain/launch/testnet
Then, to build the binary, simply run:
go build
Next up, we build the rust part of the node. Instructions for building the blindbid
module can be found here. After building, make sure you move the executable into the testnet
folder.
Finally, to start your node, type:
./start-node.sh
- Cryptography Module - Includes an implementation of SHA-3 and LongsightL hash functions, Ristretto and BN-256 elliptic curves, Ed25519, BLS, bLSAG and MLSAG signature schemes, Bulletproofs zero-knowledge proof scheme.
- Consensus Module - Includes a complete implementation of the latest version of Segregated Byzantine Agreement (v2.1) consensus protocol, which contains three phases - Block Generation, Block Reduction and Block Agreement as well as the Blind Bid proof protocol utilized in the Block Generation phase.
- Networking and Database Module - Includes the blockchain storage and related logic, as well as the implementation of P2P gossip protocol utilized by the Dusk Network protocol.
- CLI Wallet - Includes an functionality enabling the user to create/load a wallet, transfer/bid/stake DUSK tokens, and managing the node.
These features will be introduced in the later iterations of the Testnet (starting from v2).
- Virtual Machine Module - Will include the implementation of the WebAssembly-based (WASM) Turing-complete Virtual Machine with zero-knowledge proof verification capabilities, as well as an account-based state-layer confidential transaction model and the implementation of XSC standard.
- Guru Module - Will include the reputation module incorporated to aid the consensus combat malicious behaviour.
- Cryptoeconomics Model - Will include an optimized reward mechanism for the consensus alongside the slashing conditions as well as introducing the lower and upper thresholds for the bids and stakes. The cryptoeconomics model will also include the rolling transaction fee model.
- Poseidon Hash Function - Will include the Poseidon hash function which will supersede LongsightL as the new zero-knowledge proof-friendly hash function.
- Anonymous Networking Layer - Will include the anonymous P2P communication model based on onion routing.
The wallet is hosted in a separate repo, found here. Please refer to that repository for build instructions.
After building, ensure you move the dusk-wallet-cli
executable into the same folder as your testnet
, blindbid
and dusk.toml
files. You can start the wallet after launching the node.
./dusk-wallet-cli
The wallet will show you a menu with available options, that you can navigate with the arrow keys and the enter key.
Note that the wallet is a seperate process from the node, and thus closing the wallet does not stop the node from running.
To claim Testnet DUSK (tDUSK), the user is required to make a Twitter post containing his/her wallet address (example). Following the post on Twitter, the user should go to the faucet webpage and paste the Twitter post link into the empty box and click the Send Dusk!
button. The tDUSK will be deposited onto the aforementioned address within a minute. The user can claim tDUSK for the same address once per 24 hours.