github.com/avahowell/sia@v0.5.1-beta.0.20160524050156-83dcc3d37c94/README.md (about)

     1  Sia 0.6.0
     2  =========
     3  
     4  [![Build Status](https://travis-ci.org/NebulousLabs/Sia.svg?branch=master)](https://travis-ci.org/NebulousLabs/Sia)
     5  [![GoDoc](https://godoc.org/github.com/NebulousLabs/Sia?status.svg)](https://godoc.org/github.com/NebulousLabs/Sia)
     6  [![Go Report Card](https://goreportcard.com/badge/github.com/NebulousLabs/Sia)](https://goreportcard.com/report/github.com/NebulousLabs/Sia)
     7  
     8  Binaries can be found at [our website](http://siacoin.com). Code for the graphical front-end can be found at the [Sia-UI](https://github.com/NebulousLabs/Sia-UI) repo.
     9  
    10  Sia is a new decentralized cloud storage platform aimed at giving users control
    11  of their data. Data is split into hundreds of erasure coded pieces and
    12  encrypted locally, and then each piece is uploaded to a separate host. A
    13  blockchain is used to create cryptographic contracts ensuring that hosts will
    14  only get paid if they actually store the data. Out of hundreds of hosts, only a
    15  fraction are required to recover the original file.
    16  
    17  Anybody can join the network as a host and get income from the storage they
    18  contribute. This openness allows Sia to build and take advantage of a global
    19  network of small datacenters. Combined with advanced algorithms for storing and
    20  retrieving data, Sia is poised to be a highly competitive cloud storage
    21  platform. More information about the technology can be found on our website and
    22  in the 'doc' folder of the repo.
    23  
    24  Sia is currently in beta. The currency was launched on June 7th, 2015, but the
    25  storage platform itself remains in beta. Sia is ready for use with small sums
    26  of money and non-critical files, but until the network has a more proven track
    27  record, we advise against using it as a sole means of storing important data.
    28  
    29  This release comes with 2 binaries, siad and siac. siad is a background
    30  service, or "daemon," that runs the Sia protocol, and siac is a client that is
    31  used to interact with siad. Siad exposes an HTTP API on 'localhost:9980' which
    32  can be used to interact with the daemon. There is a front-end program called
    33  Sia-UI which can be used to interact with the daemon in a more user-friendly
    34  way. Documentation on the API can be found in doc/API.md.
    35  
    36  Usage
    37  -----
    38  
    39  siad and siac are run via command prompt. On Windows, you can just double-
    40  click siad.exe if you don't need to specify any command-line arguments.
    41  Otherwise, navigate to the sia folder and click File->Open command prompt.
    42  Then, start the siad service by entering `siad` and pressing Enter. The
    43  command prompt may appear to freeze; this means siad is waiting for requests.
    44  Windows users may see a warning from the Windows Firewall; be sure to check
    45  both boxes ("Private networks" and "Public networks") and click "Allow
    46  access." You can now run `siac` in a separate command prompt to interact with
    47  siad. From here, you can send money, mine blocks, upload and download
    48  files, and advertise yourself as a host.
    49  
    50  Building From Source
    51  --------------------
    52  
    53  To build from source, [Go 1.6 must be installed](https://golang.org/doc/install)
    54  on the system. Then simply use `go get`:
    55  
    56  ```
    57  go get -u github.com/NebulousLabs/Sia/...
    58  ```
    59  
    60  This will download the Sia repo to your `$GOPATH/src` folder, and install the
    61  `siad` and `siac` binaries in your `$GOPATH/bin` folder.
    62  
    63  To stay up-to-date, run the previous `go get` command again. Alternatively, you
    64  can use the Makefile provided in this repo. Run `git pull origin master` to
    65  pull the latest changes, and `make release-std` to build the new binaries. You
    66  can also run `make test` and `make test-long` to run the short and full test
    67  suites, respectively. Finally, `make cover` will generate code coverage reports
    68  for each package; they are stored in the `cover` folder and can be viewed in
    69  your browser.
    70  
    71  Troubleshooting
    72  ---------------
    73  
    74  - I can't add storage folders on Windows.
    75  
    76    Currently, admin privileges are required to add storage folders on Windows.
    77    Close siad and run it from an admin command prompt. Future versions will not
    78    require admin privileges.
    79  
    80  - I can't connect to more than 8 peers.
    81  
    82    Once Sia has connected to 8 peers, it will stop trying to form new
    83    connections, but it will still accept incoming connection requests (up to 128
    84    total peers). However, if you are behind a firewall, you will not be able to
    85    accept incoming connections. You must configure your firewall to allow Sia
    86    connections by forwarding your ports. By default, Sia communicates on ports
    87    9981 and 9982. The specific instructions for forwarding a port vary by
    88    router. For more information, consult [this guide](http://portfoward.com).
    89  
    90    Sia currently has support for UPnP. While not all routers support UPnP, a
    91    majority of users should have their ports automatically forwarded by UPnP.
    92  
    93  - I mined a block, but I didn't receive any money.
    94  
    95    There is a 144-block confirmation delay before you will receive siacoins from
    96    mined blocks. If you still have not received the block reward after 144
    97    blocks, it means your block did not made it into the blockchain.
    98  
    99  If your issue is not addressed above, you can get in touch with us personally:
   100  
   101    slack: http://slackin.siacoin.com (ping taek or nemo)
   102  
   103    email:
   104    
   105    david@nebulouslabs.com
   106    
   107    luke@nebulouslabs.com
   108  
   109  Version Information
   110  -------------------
   111  
   112  - The renter and host modules have been significantly changed in v0.6.0.
   113    The renter now forms long-term file contracts instead of making a new
   114    contract for each file. This requires the introduction of "allowances,"
   115    which are used to specify how much money the renter should spend on
   116    contracts. Before you can upload files, you must first specify an
   117    allowance. The renter will then form contracts according to the allowance,
   118    which are used to store the uploaded files.
   119  
   120  - The host now supports multiple storage folders. Each folder can be configured
   121    with a maximum size. If you remove a storage folder, its data will be
   122    redistributed to the other folders. You should always remove the storage
   123    folder via the API before deleting its contents on your filesystem. The host
   124    cannot store any data until you specify at least one storage folder.
   125  
   126    Hosts can also delete individual sectors (identified via Merkle root) in
   127    order to comply with take-down requests.
   128  
   129  - v0.6.0 introduces some changes that are incompatible with previous versions.
   130    For example, host announcements now include a public key, and are signed with
   131    that key. This allows hosts to reannounce later with a different IP address.
   132    The renter-host communication protocols have also changed significantly. For
   133    these reasons, we recommend that you reupload data stored on v0.5.0 to v0.6.0
   134    hosts. Apologies for the inconvenience.
   135  
   136  Please tell us about any problems you run into, and any features you want! The
   137  advantage of being a beta user is that your feedback will have a large impact
   138  on what we do in the next few months. Thank you!
   139  
   140  Version History
   141  ---------------
   142  
   143  May 2016:
   144  
   145  v0.6.0 (minor release)
   146  - Switched to long-form renter contracts
   147  - Added support for multiple hosting folders
   148  - Hosts are now identified by their public key
   149  
   150  January 2016:
   151  
   152  v0.5.2 (patch)
   153  - Faster initial blockchain download
   154  - Introduced headers-only broadcasting
   155  
   156  v0.5.1 (patch)
   157  - Fixed bug severely impacting performance
   158  - Restored (but deprecated) some siac commands
   159  - Added modules flag, allowing modules to be disabled
   160  
   161  v0.5.0 (minor release)
   162  - Major API changes to most modules
   163  - Automatic contract renewal
   164  - Data on inactive hosts is reuploaded
   165  - Support for folder structure
   166  - Smarter host
   167  
   168  October 2015:
   169  
   170  v0.4.8 (patch)
   171  - Restored compatibility with v0.4.6
   172  
   173  v0.4.7 (patch)
   174  - Dropped support for v0.3.3.x
   175  
   176  v0.4.6 (patch)
   177  - Removed over-aggressive consistency check
   178  
   179  v0.4.5 (patch)
   180  - Fixed last prominent bug in block database
   181  - Closed some dangling resource handles
   182  
   183  v0.4.4 (patch)
   184  - Uploading is much more reliable
   185  - Price estimations are more accurate
   186  - Bumped filesize limit to 20 GB
   187  
   188  v0.4.3 (patch)
   189  - Block database is now faster and more stable
   190  - Wallet no longer freezes when unlocked during IBD
   191  - Optimized block encoding/decoding
   192  
   193  September 2015:
   194  
   195  v0.4.2 (patch)
   196  - HostDB is now smarter
   197  - Tweaked renter contract creation
   198  
   199  v0.4.1 (patch)
   200  - Added support for loading v0.3.3.x wallets
   201  - Better pruning of dead nodes
   202  - Improve database consistency
   203  
   204  August 2015:
   205  
   206  v0.4.0: Second stable currency release.
   207  - Wallets are encrypted and generated from seed phrases
   208  - Files are erasure-coded and transferred in parallel
   209  - The blockchain is now fully on-disk
   210  - Added UPnP support