(This article is a practical guide for hosting using the UI. For a technical explanation of hosting, check Hosting The most recent update of this guide was on August, 2017.)
In Sia, hosts are rewarded with Siacoins by offering their free disk space and hosting the files of renters.
There are some requisites to start hosting:
Most of the hosting operations can be performed on the “Hosting” tab of the UI, but there are certain advanced operations that need to be done in the Terminal (or in a Command Line Interface).
The “Hosting” tab of the UI shows most of the parameters to configure:
host config minuploadbandwidthprice [price]SC
and host config mindownloadbandwidthprice [price]SC
. Example: host config minuploadbandwidthprice 10SC
. Take in mind that “upload” and “download” are referred from the renter’s perspective. Thus, the download pricing represents your upload (outbound traffic) and vice versa.Depending on the parameters of the host, including the pricing, a score will be assigned by potential renters of the network. Sia network is a competitive marketplace, meaning that hosts with competitive pricing have higher chances to get more file contracts. For comparison, SiaHub.info can be checked to see what other hosts in the network are pricing.
There are other advanced parameters that can be stablished in the Terminal (or in a CLI) with the syntax host config [parameter]
. For a list of all possible parameters, type host config –h
:
Once parameters are set up, click on the Announce button on the top of the tab. A transaction will be broadcasted to the network and included in the blockchain, announcing the new host. By default, the public IP, using the 9982 port, will be used for the announce. If a DNS or a different port is desired, the command host announce [IP_or_DNS]:[port]
can be used in the Terminal.
The settings can be changed at any time after announcing the host, but they will not affect any of the current contracts, only the new ones formed.
There is no need to announce again the host after changing these settings. Only announce again if the IP or DNS provider has to be changed.
Over time, contracts will be formed with renters. With every contract formed, the collateral to back it will become locked, and so an outbound transaction will be shown in the transactions history. Space disk is not reserved until files are actually uploaded.
The host will need to be online around a 97% of the time and keep the integrity of the files in order to fulfill Proofs of Storage to the blockchain (see also Contracts).
Payments are not received until the end of each contract. As default contracts are 13 weeks-long, it is usual not receiving payments until 3 months after the initial announcement. See also github "maxduration": 25920, // blocks and Durations (maxduration and windowsize) must be specified in either blocks (b), hours (h), days (d), or weeks (w). A block is approximately 10 minutes, so one hour is six blocks, a day is 144 blocks, and a week is 1008 blocks. for possible changes to maxduration defaults.
The top bar of the “Hosting” tab shows: a) the connection status of the host, b) the number of contracts, c) The earned Siacoins, and d) the expected Siacoins to be earnt once all the current contracts expire. (see Figure below).
It is important to note that both earned and expected incomes shown in the UI represent a sum of several concepts:
A detailed itemization of earned coins and expected revenues, together with more parameters and statistics, can be checked with the command siac host -v
in the Terminal. This is an example of the report:
This is the explanation of some of the shown data:
The status of the host can be monitored remotely by checking its IP in Sia metrics webpages like SiaHub.info.