Downloading and running the node
After completing this section, your node will be connected to the Aleph Zero Testnet and will start receiving blocks from the network.
Last updated
Was this helpful?
After completing this section, your node will be connected to the Aleph Zero Testnet and will start receiving blocks from the network.
Last updated
Was this helpful?
You will need docker
and wget
. If you are using Linux, we recommend that you add your user to the docker
group so that using docker
doesn’t require sudo access. You can find the Docker installation instructions and using it without sudo access (if you can't use Docker without sudo, simply add sudo
before running the script.
You will also need to make sure that the ports 9944, 30333, 30343 are not busy. On Linux, you can check this with:
If there is no output, the port is free.
Clone the Aleph Node Runner repo:
IMPORTANT: With release 15.1, the Node Runner is undergoing significant changes. You will need to either do a git pull
or delete your aleph-node-runner
repo and clone it again. Regardless of which option you choose, please make sure to back up any changes you may have made to the config.
The new Node Runner is able to figure out the correct version of Aleph Node to run so the only time where you'll want to do a git pull
in the future will be when a new Aleph Node Runner Version is released (it will always be announced).
Once inside the aleph-node-runner
folder, run:
If you are using a domain name instead of an IP (e.g. in a DynDNS configuration), you will need to pass the --dns
argument:
It might take quite some time before you actually get the node running: the script will first download required files, including a database snapshot (a couple hundred GB). It will then run the node for you and you can inspect the logs by running docker logs <your_nodes_name>
And that’s it!
Your node is now connected to the Aleph Zero Testnet and is able to communicate with other nodes and receive blocks.
Please read on if you would like to know about customizing your setup and verifying that the node actually works.
The setup done by the script is based on Docker, so you can treat Aleph Node like any other container. To execute the commands below, you will need to provide the name of your container. The name assigned to the container will be the same as the name you have chosen for your node.
For instance, you might want to:
docker stop <your_nodes_name>
You have two options:
The first one doesn't require you to execute the script again: docker start <your_nodes_name>
while the second is to simply run the script again and let it take care of container management
To update your node, you need to run two things:
docker stop <your_nodes_name>
./run_node.sh --name <your_nodes_name> --ip <your_ip_address>
That will take care of downloading the newest available version and starting the node again.
Starting with version 12 of the node, the aleph-node-runner
repo does not auto-update (but still is able to figure out the correct version of the node to run). However, it's now best to check for updates of the runner repo from time to time and do a git pull
.
By default the aleph-node-runner
script uses the RocksDB database in pruning mode. If you just started running a node no action is needed.
If you have ran a node before version 15.1 though, it was almost surely using ParityDB. The script will auto-detect this situation and pring a warning, but whould otherwise keep working. If you explicitly pass an argument --database_engine rocksdb
the script will download a RocksDB snapshot (this will take a while, so don't do this on a validating node) and start using it. Afterwards it will inform you how to delete the unnecessary copy of the DB. Alternatively you can explicitly pass the argument --database_engine paritydb
to silence the warning about using ParityDB.
docker logs <your_nodes_name>
Or, if you want to keep getting the logs in real-time:
docker logs --follow <your_nodes_name>
docker ps
(or docker ps -a
if you want to see stopped containers as well)
It will allow you to check which container is running and whether the ports are mapped correctly.
Your ports 30333 and 30343 need to be accessible from the outside after you start your node. You can check that using a website like
We strongly recommend that you set up telemetry for your node, as described .
Before you update, make sure your node is not currently, or is not going to be in a committee of a session that will be starting shortly, by searching for it on . A session takes about 15 minutes, and the update procedure should fit there.