Docs
v1

Guide

Install Tenrai

Build the Tenrai node, wallet, miner and stratum bridge from source on Linux, macOS and Windows.

On this page

The node and its tools come from one Rust workspace. A single build produces these programs:

BinaryUse
tenraidThe node. Validates and stores the chain, serves the HTTP API and WebSocket events
tenrai-walletCommand-line wallet with local signing, payments, compounding and staking
tenrai-minerGPU (OpenCL, CUDA) and CPU miner, solo on a node or through a bridge
tenrai-stratum-bridgeServes node work to miners with per-worker shares
tenrai-releaseTools for preparing networks and releases; not needed to run a node

The mining pool has a repository of its own.

Prerequisites

The workspace pins Rust 1.98.1 in rust-toolchain.toml. With rustup installed, the first build fetches that toolchain and its components on its own.

RocksDB, the node's database, needs a C++ compiler and libclang:

Linux

On Debian or Ubuntu:

Shell
sudo apt install build-essential clang libclang-dev

On Fedora:

Shell
sudo dnf install gcc gcc-c++ clang clang-devel

macOS

Shell
xcode-select --install

Windows

Install Visual Studio Build Tools with the C++ workload, and LLVM. If LLVM is not in its default location, point LIBCLANG_PATH at its bin folder:

PowerShell
$env:LIBCLANG_PATH = "C:\Program Files\LLVM\bin"

Build

From a checkout of the Tenrai node repository:

Shell
cargo build --release

The binaries end up in target/release, with an .exe suffix on Windows.

Check the build

Every binary prints its options with --help:

Linux

Shell
./target/release/tenraid --help

macOS

Shell
./target/release/tenraid --help

Windows

PowerShell
.\target\release\tenraid.exe --help

Try it on a development network

A development node runs alone and finalizes its own blocks, so you can try the wallet and the miner without joining a network. Keep its data directory apart from every other network:

Shell
tenraid run --network development --data-dir ./.tenrai --dev-validator

--dev-validator signs a cut every 2.5 seconds with the key the development manifest bonds. The node refuses the option on any other network.

The wallet and the miner follow with one option each:

Shell
tenrai-wallet --network development
tenrai-miner -a <the address the wallet shows>

The wallet creates a development wallet on its first start and connects to the node; the miner reads the network from the address. A block's reward reaches the wallet about four minutes after the block.

Next, configure the node for the network you want to join.

Type to search guides, concepts and reference pages.