Getting started as a customer

(Updated on 20-11-2018)

  1. Overview
  2. Requirements
  3. Installation
  4. Account settings
  5. Tokens deposit
  6. KYC procedure
  7. Renting resources
  8. Task execution
  9. Finish the deal
  10. Finding help

Overview

The Customer is a Sonm user who rents and uses the computing resources of other users (Suppliers) through the system. Getting started on Sonm as a customer takes several steps, as described below. It includes the installation, settings, and the main steps to execute your task using Sonm.

Requirements

Linux x86/64 (Debian-based, for example Ubuntu).

Mac and Windows users may use Linux VM.

We also have binaries for Mac and Windows, but it's better to use Linux because SONM Platform works on Linux as system service, and you may use script to install/update your installation to a newer version. If you still want to try SONM as a customer on Mac / Windows, please ask support to give you binaries and appropriate instructions.

Installation

  • Use auto-installation script:

sudo bash -c "$(curl -s https://raw.githubusercontent.com/sonm-io/autodeploy/master/sonm-auto-deploy-consumer.sh)"

You may also install the Sonm components manually:

Account settings

You should have your own Ethereum account to pay for resources in Sonm. Your account is your unique identifier for:

  • deals in the Sonm blockchain;
  • profile certificates, deal statistics, contact information, etc;
  • personal blacklists (common for all supplier workers to not enter into deals with specified addresses).

We generate your personal account (UTC/JSON keystore file) during the installation. You can find the keystore path and passphrase with cat ~/.sonm/cli.yaml. Keystore file default location: /etc/sonm/sonm-keystore.

If you want to use your existing account, replace the file in the appropriate folder with yours.

To start working with your account:

  1. Get your keystore file.
  2. Open the Sonm Market.
  3. Create a new wallet by clicking the “Create wallet” button. Input a name, password, and password confirmation and choose “livenet” as the Ethereum network (“rinkeby” is a testnet). Then, click “Create wallet”.
  4. Select “Wallet” -> “Accounts” in the main menu. This will take you to the account list.
  5. Click the "Import Account" button to add your UTC/JSON keystore file. Select the file and enter the account name and passphrase. Click “Add” to finish.
  6. Now you will see your account in the list and your funds in Ethereum and Sonm tokens. Your account is now set up.

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".

Also to verify the installation of Sonm CLI component and check your account please start Sonm CLI and use sonmcli login command. There should be no “Enter password” request.

Payments for the resources in Sonm is performed only in Sonm tokens (SNM). You can buy tokens on one of the cryptocurrency exchanges.

You must have on your account enough SNM to pay for the deal and some Ether to pay for the deposit operation (Ethereum transaction fee).

Tokens deposit

Deposit tokens are the next step for replenishing your balance in the Sonm blockchain, where you rent and pay for resources. You may use the Sonm Market or CLI.

To deposit tokens in the Sonm CLI, use the sonmcli token deposit command. To deposit tokens in the Sonm Market, go to “Market” -> “Deposit” and follow the guide steps.

Please NOTE

We use special Gate smart contracts and Gatekeeper masternodes to validate transactions for depositing SNM tokens to the Sonm blockchain and withdrawing them to the main Ethereum network. The transactions are not instantaneous – there are delays:

  • validation of transactions (including transactions to the blockchain) – this depends on the current workload of the main Ethereum network and your transaction settings ("gas limit" and "gas price");
  • quarantine period for the gate – 15 minutes.

Taking this into account, the normal time it takes to deposit funds in the respective other blockchain is <the time it takes to mine your transaction + 15 minutes>.

KYC procedure

KYC (Know Your Customer) is a procedure that allows a supplier to confirm the identity of the counterparty (customer) participating in a deal before it is conducted. After undergoing KYC verification, customers can use the resources they have rented on the Sonm platform to run individually created tasks: machine learning, rendering, etc. Users who have not yet passed the KYC procedure can run only the computational tasks included in the Sonm Whitelist.

To complete the KYC procedure and receive “Identified” status, you need to:

  • Go into your profile in the Sonm Market and click the profile icon at the top.
  • Click on the “Get Certification” button.
  • Select “Cryptonomica” from the list and follow the guide steps.
  • After the KYC is completed, your status will change to “Identified”.

Renting resources

To quick rent resources in the Sonm Market:

  1. Go to “Market” -> “Orders”, or go to “Market” -> “Profiles”, select Supplier, and in his or her profile, click “Go to orders” to view his or her sell orders.
  2. Choose an appropriate sell order. Click on the order to see all parameters.
  3. Buy order using the “Buy” button, follow the guide steps.
  4. You may see your deals on the “Market” -> “Deals” page. You may see the deal details by clicking on the deal.

Order and deal prices on the Sonm marketplace are in USD. Payments are executed in SNM tokens in accordance with the current SNM/USD exchange price. When you open a deal, SNM tokens are transferred from your address to the marketplace smart contract.

To rent resources according to your configurations, use the Sonm CLI:

  1. Configure the buy-order parameters necessary for your task: create or edit the bid.yaml file
    • Configure the values ​​of RAM, CPU, network, and GPU hashrate. Set the price you’re offering.
    • Set the duration of the deal. Zero means that the deal is spot and can be interrupted by the supplier at any time. To perform a machine-learning task, set the time of the deal as the minimum time required to complete your task.
  2. Create an order on the Marketplace to buy resources: sonmcli order create bid.yaml.
  3. Wait a few minutes and check the deal has been settled: sonmcli deal list. The creation of the deal is carried out automatically as soon as a suitable sell order is found on the Sonm marketplace.

Task execution

To execute your task, you should prepare a docker container with it and upload the container to the Docker storage. How to do that.

For now, task execution is possible only through the Sonm CLI. Follow the next steps:

  1. Prepare a file with a description of the task: edit task.yaml file. You may see task specification examples on our GitHub.
  2. Start task using the command sonmcli task start task.yaml --timeout=100m.
  3. Wait until task has started. This process can take a long time because the worker needs to pull up the docker image.
  4. See task logs using the command sonmcli task logs .

Finish the deal

  1. After the task execution has ended, stop the task: sonmcli task stop .
  2. If you don’t have any other tasks planned, don’t forget to finish the deal to stop spending Sonm tokens: sonmcli deal close .

The supplier will receive payment for the deal duration. The rest of the SNM tokens frozen are returned to your account!

See Sonm CLI Guide for additional information about task management.

Finding help

If you get stuck, help is always available. We provide you with 24/7 technical support. If you experience any errors or difficulties with our product, you can get support via:

Please be ready to provide all the required information to help us solve your issue. Check if your Sonm platform components are working correctly using our self-check guide.

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