Getting started as a supplier

(Updated on 29-10-2018)

  1. Overview
  2. Requirements
  3. Master-account settings
  4. Installation
  5. Worker maintenance
  6. Withdraw tokens
  7. Finding help

Overview

Supplier is Sonm user, who owns computational resources and provides it to Sonm for rent. Suppliers can earn tokens by selling computing power peer-to-peer to customers and performing their calculations.

Getting started as a Sonm supplier requires several steps we describe below. It includes installation, settings and monitoring the process.

Requirements

You'll need to consider the following before starting the installation:

  • You should have one or several worker PCs with Linux x64 OS (Debian-based OS such as Ubuntu are preferred).
  • Ensure you have an internet connection and browser.

Master-account settings

Every supplier should have an Ethereum address as his unique identifier. This address is called “Master address”, and is used for:

  • receive payments in SNM tokens for resources that you have sold in Sonm (Marketplace smart contract send all payments to this address from all your workers);
  • link profile certificates, deal statistics, contact information, etc;
  • keeping a personal blacklist (common for all supplier's workers) to do not have deals with specified Sonm users;
  • Sonm worker control.

Important!

Do not use your main Ethereum address for master purpose! Better option is to generate a new one in Sonm GUI.

Better option is to keep safe your Master address and use Admin address instead. Admin key do not receive payment for rented resources and used only for worker node management and authentication purposes within Sonm network.

To create your Master address:

  1. Open the Sonm GUI.
  2. Create new wallet by “Create wallet” button. Input name, password and password confirmation, choose “livenet” as Ethereum network (“rinkeby” is a testnet). After input click “Create wallet”.
  3. Select “Wallet” -> “Accounts” in main menu. You will enter to the accounts list.
  4. Click "Create account" button. Enter the account name, password, password confirmation. Click “Create” to finish.
  5. You will see your new account in the list.

IMPORTANT

DON'T FORGET to make a BACK-UP of your KEYSTORE or WHOLE WALLET. You cannot get access to your funds if you loose the keystore.

To export wallet:

  1. Click the "Export wallet" button on the "Accounts" page.
  2. Choose the local folder and click "Save".

Installation

Supplier should have the following components to use Sonm:

  • one or several PCs with Linux x64 OS (Debian-based OS such as Ubuntu are preferred), running:
    • Docker CE;
    • Sonm Worker - interacts with other Sonm components to provide computational resources;
    • Sonm Optimus - optional Sonm component, seller-bot which analizes Sonm marketplace and manages Sonm Worker resources to conclude most profitable deals;
  • also Supplier need these components for worker management:
    • Sonm Node - provides external API to interact with Sonm platform;
    • Sonm CLI - uses Node API to interact with Sonm platform.

Notice. After installation Sonm Optimus starts to sell your computing resources automatically. You will get income in SNM tokens to your Master account.

There are three ways to install Sonm components for supplier. Choose appropriate one. We recommend you to use the Sonm OS.

1. Sonm OS installation from a bootable flash drive

Sonm OS is an operating system designed specifically to help suppliers of computing resources connect to the decentralized Sonm platform and start work as easily and quickly as possible. Sonm OS is based on Ubuntu 18.04 Server edition and include all Sonm components and environment for supplier. To install Sonm OS follow the guide steps.

2. Using auto-installation script

Follow the steps below:

  • Open cmd and execute these commands:

    • sudo apt-get install curl;
    • sudo bash -c "$(curl -s https://raw.githubusercontent.com/sonm-io/autodeploy/master/sonm-auto-deploy-supplier.sh)" -s YOUR_MASTER_ADDRESS

      Warning! Do not leave “pass_phrase” field blank!

  • After installation check token balance to make sure that Sonm Node is working correctly: sonmcli token balance.
  • Sonm Worker launches several benchmarks on it's first start. You can check them and any tasks running through your machine using a command: sudo docker ps.

    Notice. Sonm Worker may not respond during benchmarking process. So you need to wait until their completion. In case you have several GPU on board, benchmarking process may take about ~1 hour.

  • Confirm that this particular worker belongs to your master via GUI:
    • check worker address waiting for confirmation using sonmcli master list <MASTER_ADDR>.
    • open Sonm GUI, go to "Market” -> “Workers".
    • press "Confirm" button;
    • enter your master account password.
  • Check worker confirmation by running sonmcli master list <MASTER_ADDR> again
  • Check your Worker status: sonmcli worker status.
  • Check the Worker resources: sonmcli worker devices.

Video version of Sonm platform installation using auto-installation script:

3. Manual installation

You also may perform configuration manually:

  • Install Docker CE;
  • Install Sonm components for supplier (Node, CLI, Worker, Optimus):
    • from DEB packages (Debian-based Linux distributions only), or
    • from repository (Debian-based Linux distributions only);
  • Configure Sonm Worker:
    • run sonmcli login to generate new Ethereum address (this will create new UTC/JSON keystore with given passphrase, it will be your Admin address);
    • edit worker config ('sudo nano /etc/sonm/worker-default.yaml'):
      • set your “Master address” (generated in Sonm GUI) and “Admin address” (locally generated with Sonm CLI);
      • if you have GPU on worker PC, enable appropriate setting (“nvidia” or “radeon”);
    • start Sonm Worker: sudo service sonm-worker start;
    • edit node config: sudo nano /etc/sonm/node-default.yaml:
      • set your keystore path for Admin key and passphrase;
    • start Sonm Node: sudo service sonm-node start.
  • Worker will start and perform hardware benchmarks.
  • Confirm Worker in Sonm GUI (see steps in "2. Using auto-installation script").
  • Configure Sonm Optimus:
    • set localy installed Sonm Node endpoint ([email protected]:15030)
    • set your worker ethereum address in config file: sudo nano /etc/sonm/optimus-default.yaml ([email protected]:15010);
    • start Sonm Optimus: sudo service sonm-optimus start.

Worker maintenance

Maintenance mode allows to gracefully shut down your worker instance for maintenance without risk of being blacklisted by Customers/Connor bots. It will stop the tasks, remove sell orders from Market, close all deals automatically. Maintenance mode can be engaged via maintenance scheduler in Sonm CLI.

Read the article to use the maintenance mode.

Withdraw tokens

Withdraw operation is needed to transfer your earned tokens from Sonm blockchain to Ethereum blockchain.

In Sonm CLI use command: sonmcli token withdraw <amount>.

In Sonm GUI go to “Market” -> “Withdraw” and follow the guide steps.

Please NOTICE

We use special Gate smart contracts and Gatekeeper masternodes to validate transactions for deposit SNM tokens to Sonm blockchain and withdraw them to main Ethereum network. Transactions are not rapid, there are delays for:

  • validate transaction (include transaction to the block) - this depends on current workload of the main Ethereum network and transaction settings you set ("gas limit" and "gas price");
  • quarantine period for the gate - 15 minutes.

Taking this into account, the normal time to deposit funds in the opposite blockchain is: <the time of mining your transaction + 15 minutes>

Finding help

If you get stuck, help is always at hand. We are providing you with a 24/7 technical support.

If you experience any errors or difficulties with our product, you can get support via:

Be ready to provide all the required information that will help us to solve your issue.

Check if your SONM platform components working correctly. Do it using our self-check guide.

Also, please make step-by-step description of actions that led to the error and provide us with command outputs.