Skip to content

dusk-network/dusk-blockchain

Repository files navigation

Dusk Blockchain Node

⚠️ Deprecated ⚠️

This repository contains the legacy Golang implementation of the Dusk protocol. This implementation is deprecated and no longer maintained.

For an up-to-date node implementation, consider using our Rust-based Rusk client.

Why is it Deprecated?

We have transitioned to a Rust-based implementation for improved interoperability, security, and ease of contribution.

Actions Status codecov Go Report Card PkgGoDev

Specification Requirements

The following requirements are defined for running an active Dusk node. Depending on the role your node plays and how much functionality it exposes, the utilization of the node might vary significantly.

Minimum Specifications

CPU RAM Storage Network Connection
4 cores; 2 GHz 4 GB 100 GB 10 Mbps

Recommended Specifications

CPU RAM Storage Network Connection
8 cores; 2 GHz 8 GB 250 GB +25 Mbps

Installation Guide

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, 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.

Requirements

Go 1.17 or newer.

Installation

Download the codebase and navigate into the folder:

git clone git@github.com:dusk-network/dusk-blockchain.git && cd dusk-blockchain

Get the project dependencies by running:

go get github.com/dusk-network/dusk-blockchain/...

To build the binary, simply run:

make build

Finally, to start your node, type:

./bin/dusk --config=dusk.toml

Wallet

The wallet is hosted in a separate repository, found here.

How to use the wallet

For more information on how to install, configure and run the CLI wallet, see the documentation here.

Rusk

Rusk is an important separate service that should be ran next to the node. Rusk is a powerful wrapper around the VM/execution engine that provides the genesis contracts and gives the VM access to host functions. Rusk is hosted in a separate repository, found here.

How to use Rusk

For more information on how to install, configure and run the Rusk, see the documentation here.

License

The Dusk Network blockchain client is licensed under the MIT License. See the license file for details.

Contributing

Please see the contribution guidelines for details.