Forked from Joystream/joystream https://github.com/Joystream/joystream

Bedeho Mender e4dcab2115 Merge pull request #96 from Joystream/development 5 vuotta sitten
bin 3fb0d32c52 split package into bin and lib 5 vuotta sitten
chain-spec-builder c5927dfdd1 chainspec builder tool 5 vuotta sitten
res c5927dfdd1 chainspec builder tool 5 vuotta sitten
src c5927dfdd1 chainspec builder tool 5 vuotta sitten
.dockerignore 5766723a7a fix build instructions for current testnet 5 vuotta sitten
.editorconfig 411f6f59bd Initial commit 6 vuotta sitten
.gitignore 7a0c74d776 ignore runtime folder symlink 6 vuotta sitten
.travis.yml 00c871d3c6 travis: use correct filename per platform 5 vuotta sitten
Cargo.lock c5927dfdd1 chainspec builder tool 5 vuotta sitten
Cargo.toml c5927dfdd1 chainspec builder tool 5 vuotta sitten
Dockerfile f087dbdcab Merge branch 'master' into development 5 vuotta sitten
Dockerfile_experimental 8eee68b2a0 keep experimental dockerfile separate 5 vuotta sitten
LICENSE 21c04d8e9a Create LICENSE 5 vuotta sitten
README.md 37943c3992 readme: add missing `--` after cardo run 5 vuotta sitten
build-clean-start.sh b9b68ffa6c update README and build scripts 5 vuotta sitten
build.rs 246860547a substrate v2: updated node template and dependencies 5 vuotta sitten
raspberry-cross-build.sh 602c045872 raspberry build script 5 vuotta sitten
setup.sh 46c6134c8b setup.sh 5 vuotta sitten
validator-node_new.svg a072a994ef new banner 5 vuotta sitten

README.md

 Nodes for Joystream

Joystream Full Node

Joystream node built with Substrate.

Follow the instructions below to download the software or build it from source.

For setting up a full node and valiador review the advanced guide from the helpdesk.

Binary releases

The latest pre build binaries can be downloads from the releases page.

Building from source

Initial setup

If you want to build from source you will need the Rust toolchain, openssl and llvm/libclang. You can install the required dependencies with:

git clone https://github.com/Joystream/substrate-node-joystream.git
cd substrate-node-joystream/
git checkout v2.1.2
./setup.sh

If you are familiar with docker see the building with docker section.

Building

cargo build --release

Running a public node on the Rome testnet

Run the node and connect to the public testnet.

cargo run --release -- --chain ./rome-tesnet.json

The rome-testnet.json chain file can be ontained from the release page

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 --path ./

Now you can run

joystream-node --chain rome-testnet.json

Development

Running a local development node

cargo run --release -- --dev

Cleaning development chain data

When making changes to the runtime library remember to purge the chain after rebuilding the node to test the new runtime.

cargo run --release -- purge-chain --dev

Docker

Building localy

A joystream-node can be compiled with given Dockerfile file:

# Build and tag a new image, which will compile joystream-node from source
docker build . -t joystream-node

# run a development chain with the image just created publishing the websocket port
docker run -p 9944:9944 joystream-node --dev --ws-external

Downloading joystream pre-built images from Docker Hub

docker pull joystream/node

Running a public node as a service

Create a working directory to store the node's data and where you will need to place the chain file.

mkdir ${HOME}/joystream-node-data/

cp rome-testnet.json ${HOME}/joystream-node-data/

docker run -d -p 30333:30333 \
    -v ${HOME}/joystream-node-data/:/data \
    --name my-node \
    joystream/node --base-path /data --chain /data/rome-testnet.json

# check status
docker ps

# monitor logs
docker logs --tail 100 -f my-node