Mokhtar Naamani 201a5c9998 short election stages for testing runtime, drop alternate runtime spec names 2 years ago
..
bin 13664bb7a1 node: Fix node tests. 4 years ago
src 11ca24da94 update nft parameters for testing and production 2 years ago
Cargo.toml 201a5c9998 short election stages for testing runtime, drop alternate runtime spec names 2 years ago
LICENSE a39b0b83b9 Revert "Merge landing repo" 4 years ago
README.md dfa510bec1 rollback to rust nightly-2021-02-20 3 years ago
build.rs cb8c85d21c node: Update the build.rs 4 years ago
validator-node-banner.svg 2a532261d6 update README 4 years ago

README.md

Joystream-Node - full node/validator

 Nodes for Joystream

The joystream-node is the main server application that connects to the network, synchronizes the blockchain with other nodes and produces blocks if configured as a validator node.

A step by step guide to setup a full node and validator on the Joystream testnet, can be found here.

Pre-built binaries

The latest pre-built binaries can be downloaded from the releases page. Generally these will be built from master branch and will pertain to the currently active testnet.

Building from source

Clone the repository and install build tools:

git clone https://github.com/Joystream/joystream.git

cd joystream/

./setup.sh

Compile the node and runtime:

WASM_BUILD_TOOLCHAIN=nightly-2021-02-20 cargo +nightly-2021-02-20 build --release

This produces the binary in ./target/release/joystream-node

Running local development chain

./target/release/joystream-node --dev

If you repeatedly need to restart a new chain, this script will build and run a fresh new local development chain (purging existing chain data):

./scripts/run-dev-chain.sh

Joystream Public Testnets

Use the --chain argument, and specify the path to the genesis chain.json file for that public network. The JSON "chain spec" files for Joystream public networks can be found in ../testnets/.

./target/release/joystream-node --chain testnets/joy-testnet-5.json

Tests and code quality

Running unit tests:

cargo +nightly-2021-02-20 test --release --all

Running full suite of checks, tests, formatting and linting:

yarn cargo-checks

Always format your rust code with cargo fmt before committing:

cargo fmt --all

Installing a release build

If you are building a tagged release from master branch and want to install the executable to your path follow the step below.

This will install the executable joystream-node to your ~/.cargo/bin folder, which you would normally have in your $PATH environment.

WASM_BUILD_TOOLCHAIN=nightly-2021-02-20 cargo +nightly-2021-02-20 install joystream-node --path node/ --locked

Now you can run and connect to the testnet:

joystream-node --chain testnets/joy-testnet-5.json