Comment on page

Witnet Node Quick Start Guide (Docker)

The Witnet Mainnet is open for anyone to join and and run their own full node.
You do not need to run a Witnet node to use Witnet from your Ethereum smart contracts.
If you are a smart contracts developer, what you probably want is to use one of the data feeds, a randomness source, or to connect to APIs with HTTP GET/POST.

Hardware requirements

Hardware requirements are listed in the node operators docs:

Up and running in 1 minute, using Docker

The most convenient method for running a Witnet node is through the witnet/witnet-rust Docker image. For alternate installation methods or more complex setups, take a look at the docker-compose and systemd integrations.
Firstly, you need to install Docker on the device you will be running the node from. Note: some GNU/Linux distributions require some extra steps to get Docker up and running.
The Witnet docker image downloads and runs a Witnet node in in just a matter on seconds. To start a node, use:
MacOS and Linux
Raspberry Pi
docker run -d \
--name witnet_node \
--volume ~/.witnet:/.witnet \
--publish 21337:21337 \
--restart always \
The home directory path is defined differently on Windows:
docker run -d --name witnet_node --volume %USERPROFILE%\.witnet\:/.witnet --publish 21337:21337 --restart always witnet/witnet-rust
Docker on Raspbian for all Raspberry models requires your containers to operate in privileged mode to have access to the system clock. When running the command above, simply add the --privileged flag:
docker run -d --privileged --name witnet_node --volume ~/.witnet:/.witnet --publish 21337:21337 --restart always witnet/witnet-rust

Now what?

There are two important things you should do now to make the most of your Witnet node:
  1. 1.
    Open ports as explained below.
  2. 2.
    Follow the Next Steps guide to learn how to check the node status, progress and statistics:

Open your ports!

The best way to contribute to the growth and sustainability of the Witnet network is by opening up the listening port of your node, so that other nodes in the network can download block chain data from you and your transactions can be broadcasted more quickly.
For this feature to be effective, you will also need your IP address to be public (and ideally, static). If you are operating a node in your home network, you can request your ISP to assign you a static IP address or at least disable CGN on it.
Depending on your setup, this will normally imply changing the settings on your router or firewall so as to forward all incoming connections to port 21337 from your external IP into the IP of the device or interface where the node is running.
You can find out how to verify that your ports are open in the Next Steps guide: