Mokhtar Naamani c35f38b611 WIP - README updates 4 years ago
..
bin 7e61263d85 move node to monorepo 5 years ago
res 7e61263d85 move node to monorepo 5 years ago
src bb9234d11e Update rust version and fix clippy issues 4 years ago
Cargo.toml 59ac2277f6 runtime v6.14.0 and joystream-node v2.3.0 4 years ago
LICENSE a39b0b83b9 Revert "Merge landing repo" 4 years ago
README.md c35f38b611 WIP - README updates 4 years ago
build.rs 7e61263d85 move node to monorepo 5 years ago
validator-node-banner.svg 2a532261d6 update README 5 years ago

README.md

Validator

 Nodes for Joystream

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.

To setup a full node and validator review the advanced guide from the helpdesk.

Pre-built Binaries

The latest pre-built binaries can be downloaded from the releases page.

Building from source

Clone the repository and install build tools:

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

cd joystream/

./setup.sh

Building

cargo build --release

Installing a release build

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

cargo install joystream-node --path node/

Now you can run

joystream-node --chain ./rome-testnet.json

Local development

This will build and run a fresh new local development chain purging existing one:

./scripts/run-dev-chain.sh

Unit tests

cargo test

Network tests

./scripts/run-test-chain.sh
yarn test

To run the integration tests with a different chain, you can omit step running the local development chain and set the node URL using NODE_URL environment variable. Proposal grace periods should be set to 0, otherwise proposal network tests will fail.

Rome-Constantinople migration network test

Ensure Rome node is up and running, and node URL is set using NODE_URL environment variable (default value is localhost:9944).

yarn test-migration

Coding style

We use cargo-fmt to format the source code for consistency.

It should be available on your machine if you ran the setup.sh script, otherwise install it with rustup:

rustup component add rustfmt

Applying code formatting on all source files recursing subfolders:

cargo-fmt