SiaCoin

From Leo's Notes
Last edited on 1 September 2019, at 01:52.

SiaCoin is a new blockchain that intends to provide cloud-like storage by allowing users to rent storage to others using the SiaCoin (SC) currency.

Introduction

The project's website is at http://sia.tech

Download the client and begin syncing the blockchain:

$ ./siad -d /data/scratch/sia-data

Use the siac client to check on the status of the daemon.

$ ./siac consensus
Synced: Yes
Block:      00000000000000156deebc458a053ad0a916b55a5480e0ebfa92e4b562821ab4
Height:     112535
Target:     [0 0 0 0 0 0 0 102 130 189 8 38 78 199 217 128 159 248 50 154 50 44 192 41 128 21 74 71 193 173 103 98]
Difficulty: 179949455345760515

Create and check wallet:

$ ./siac wallet init
Recovery seed:
xxx xxx xxx

Wallet encrypted with password:
xxx xxx xxx

$ ./siac wallet unlock
Wallet password:

## The first time you unlock the wallet, the client will hang for 10-20 minutes as it rescans the entire history.

SiaCoin Currency

The smallest unit is a hasting. One SiaCoin is 10^24 hastings.

To receive coins in your wallet, create your wallet address. The address is based on your wallet seed.

$ ./siac wallet address
Created new address: e4df60181e02fd59dbb8bb396c5f7174ec50234b1456102b2b41837c16e18459512c7eb71839

$ ./siac wallet addresses
e4df60181e02fd59dbb8bb396c5f7174ec50234b1456102b2b41837c16e18459512c7eb71839


Hosting

A host is a node that can provide storage in exchange for SiaCoin.

A host can charge for:

  • The cost (flat fee) of creating a contract with the host
  • The cost (per volume of collateral) of creating a contract with the host
  • The cost (per byte) of uploading data to the host
  • The cost (per byte) of downloading data from the host
  • The cost (per byte per month) of storing data on the host
  • The cost (per access) of reading data from the host

To set up a host on the command line:

$ siad -M gctwh

Where the modules mctwh refer to:

  • Miner
  • Consensus Set
  • Transaction Pool
  • Wallet
  • Host

Set up the wallet as described above. While hosting, your wallet must be unlocked at all times.

To set up a 'share', run:

$ ./siac host folder add /path/to/share size-of-share

To set the price the renter pays:

## Storage price in terabytes per month
$ siac host config minstorageprice 2000SC

## Renter Download (host upload) bandwidth price per terabyte.
$ siac host config mindownloadbandwidthprice 5000SC

## Renter Upload (host download) bandwidth price per terabyte.
$ ./siac host config minuploadbandwidthprice 1000SC

## Check the status
$ ./siac host -v
General Info:
        Connectability Status: Host is not connectable (re-checks every few minutes).

Host Internal Settings:
        acceptingcontracts:   No
        maxduration:          25 Weeks
        maxdownloadbatchsize: 17.83 MB
        maxrevisebatchsize:   17.83 MB
        netaddress:           184.64.117.27:9982 (automatically determined)
        windowsize:           24 Hours

        collateral:       100 SC / TB / Month
        collateralbudget: 100 KS
        maxcollateral:    5 KS Per Contract

        mincontractprice:          3 SC
        mindownloadbandwidthprice: 5 KS / TB
        minstorageprice:           2 KS / TB / Month
        minuploadbandwidthprice:   1 KS / TB