We are thrilled to introduce the updated version of SONM platform, with integration of a new “Discovery Algorithm” that enables hubs and miners to operate in a unified network without the knowledge of a direct IP address. In addition to the Discovery Algorithm, we also improved several key usability functions within the network, including the configuration ability with YAML format configuration files. Learn more about the new version in our blog


1. Download the Docker

To become a miner you need to download the Docker

2. Follow these instructions

Prerequisites: You need to have some external IP.


Download binaries for your platform on release page. Package includes Hub, Miner and cli, that’s what you need to start working with SONM Network.

Start hub:

As first, you need to review hub.yaml config file. There are two configured endpoints: the first one allows miners to connect to your hub, and the second one allows you to connect to the hub using cli and perform management operations;

Start the Hub on the machine with publicly-accessible IP address:


Start miner:

Similar to the Hub, the Miner has it own config file miner.yaml.

If the Hub has no publicly-available IP address or if you start all the SONM components into a local network, you must explicitly set Hub's IP via endpoint parameter into the config file.

Ensure that docker daemon is started.

Miner must be started with escalated privileges because it needs to perform operations with docker socket, cgroups, etc

In the new terminal window start the Miner:

sudo ./sonmminer

Run your task:

Discover available Miners to start task:

./sonmcli --addr miner list

There is a list of connected miners:

Miner: Idle

Use miner's address as id to retrieve detailed statistic:

./sonmcli --addr miner status

To start a task you need to write the description file. For demo purposes we will use minimal allowed task file, full version with comments can be found there.

You need to specify docker image name and resource requirements, then save task definition into file named task.yaml

Then just pass task file and miner address as arguments to task start command:

./sonmcli --addr task start task.yaml

An output shows ID assigned to task and exposed container ports:

Starting "httpd:latest" on miner
ID eb081f7d-bd1c-4d9b-976f-7674a293b199
Endpoint [80/tcp->]

Now you can get some info about running tasks by its ID and Miner address:

./sonmcli --addr task status eb081f7d-bd1c-4d9b-976f-7674a293b199

3. Hooray!
You’ve just launched the elements of the SONM network.

It will be of great help if you could send the logs which occurred after you launched test tasks on your computer.
In case any failures or problems occur, feel free to send stacktrace to the address:

SONM’s code is now stored entirely on Github
Stay tuned with the current development process