The official Dusk protocol node client and smart contract platform.
Unstable : No guarantees can be made regarding the API stability, the project is in development.
This README is for people who want to develop, test nodes locally, and contribute to the Rusk codebase.
For more information on running a node for main- or testnet, see our Node operator docs
- Repo Overview
- Prerequisites
- Build and Tests
- Run a local node for development
- Contracts compilation
- Docker support
Name | Description |
---|---|
π rusk | Entrypoint for the blockchain node |
π consensus | Implementation of Dusk's succinct attestation consensus |
π contracts | Dusk genesis contracts |
𧬠dusk-core | Core types used for interacting with Dusk and writing smart contracts |
π dusk-abi | Dusk application binary interface to develop smart contracts (part of core) |
π§ explorer | Dusk's blockchain explorer |
π node-data | Core datatypes for the blockchain node |
βοΈ dusk-vm | The virtual machine to run Dusk smart contracts |
πͺͺ rusk-profile | Utility to generate a genesis state based on a set profile |
π¨ rusk-prover | Service exposing functionality to remotely prove zero knowledge proofs |
β¬οΈ rusk-recovery | Utility to recover the state of a chain |
β¨οΈ rusk-wallet | Dusk CLI wallet |
π¨ w3sper.js | Js SDK to integrate Dusk features into applications |
βοΈ wallet-core | WASM library providing core logic for Dusk wallet implementations |
π± web-wallet | Cross platform Dusk wallet |
Name | Description |
---|---|
π examples | Example data used for local chain spawning and development |
π scripts | Utility scripts |
π§ test-wallet | Wallet for testing against the specifications |
- Rust 1.71 nightly or higher
- GCC 13 or higher
- Clang 16 or higher
We provide a setup script in the scripts
folder that can take care of
everything.
bash scripts/dev-setup.sh