github.com/johnathanhowell/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