This repository has been archived by the owner on Nov 2, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 440
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1553 from NebulousLabs/readme
Update README
- Loading branch information
Showing
3 changed files
with
220 additions
and
146 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,148 @@ | ||
Version History | ||
--------------- | ||
|
||
January 2017: | ||
|
||
v1.1.0 (minor release) | ||
- Greatly improved upload/download speeds | ||
- Wallet now regularly "defragments" | ||
- Better contract metrics | ||
|
||
December 2016: | ||
|
||
v1.0.4 (LTS release) | ||
|
||
October 2016: | ||
|
||
v1.0.3 (patch release) | ||
- Greatly improved renter stability | ||
- Smarter HostDB | ||
- Numerous minor bug fixes | ||
|
||
July 2016: | ||
|
||
v1.0.1 (patch release) | ||
- Restricted API address to localhost | ||
- Fixed renter/host desynchronization | ||
- Fixed host silently refusing new contracts | ||
|
||
June 2016: | ||
|
||
v1.0.0 (major release) | ||
- Finalized API routes | ||
- Add optional API authentication | ||
- Improve automatic contract management | ||
|
||
May 2016: | ||
|
||
v0.6.0 (minor release) | ||
- Switched to long-form renter contracts | ||
- Added support for multiple hosting folders | ||
- Hosts are now identified by their public key | ||
|
||
January 2016: | ||
|
||
v0.5.2 (patch release) | ||
- Faster initial blockchain download | ||
- Introduced headers-only broadcasting | ||
|
||
v0.5.1 (patch release) | ||
- Fixed bug severely impacting performance | ||
- Restored (but deprecated) some siac commands | ||
- Added modules flag, allowing modules to be disabled | ||
|
||
v0.5.0 (minor release) | ||
- Major API changes to most modules | ||
- Automatic contract renewal | ||
- Data on inactive hosts is reuploaded | ||
- Support for folder structure | ||
- Smarter host | ||
|
||
October 2015: | ||
|
||
v0.4.8 (patch release) | ||
- Restored compatibility with v0.4.6 | ||
|
||
v0.4.7 (patch release) | ||
- Dropped support for v0.3.3.x | ||
|
||
v0.4.6 (patch release) | ||
- Removed over-aggressive consistency check | ||
|
||
v0.4.5 (patch release) | ||
- Fixed last prominent bug in block database | ||
- Closed some dangling resource handles | ||
|
||
v0.4.4 (patch release) | ||
- Uploading is much more reliable | ||
- Price estimations are more accurate | ||
- Bumped filesize limit to 20 GB | ||
|
||
v0.4.3 (patch release) | ||
- Block database is now faster and more stable | ||
- Wallet no longer freezes when unlocked during IBD | ||
- Optimized block encoding/decoding | ||
|
||
September 2015: | ||
|
||
v0.4.2 (patch release) | ||
- HostDB is now smarter | ||
- Tweaked renter contract creation | ||
|
||
v0.4.1 (patch release) | ||
- Added support for loading v0.3.3.x wallets | ||
- Better pruning of dead nodes | ||
- Improve database consistency | ||
|
||
August 2015: | ||
|
||
v0.4.0: Second stable currency release. | ||
- Wallets are encrypted and generated from seed phrases | ||
- Files are erasure-coded and transferred in parallel | ||
- The blockchain is now fully on-disk | ||
- Added UPnP support | ||
|
||
June 2015: | ||
|
||
v0.3.3.3 (patch release) | ||
- Host announcements can be "forced" | ||
- Wallets can be merged | ||
- Unresponsive addresses are pruned from the node list | ||
|
||
v0.3.3.2 (patch release) | ||
- Siafunds can be loaded and sent | ||
- Added block explorer | ||
- Patched two critical security vulnerabilities | ||
|
||
v0.3.3.1 (hotfix) | ||
- Mining API sends headers instead of entire blocks | ||
- Slashed default hosting price | ||
|
||
v0.3.3: First stable currency release. | ||
- Set release target | ||
- Added progress bars to uploads | ||
- Rigorous testing of consensus code | ||
|
||
May 2015: | ||
|
||
v0.3.2: Fourth open beta release. | ||
- Switched encryption from block cipher to stream cipher | ||
- Updates are now signed | ||
- Added API calls to support external miners | ||
|
||
v0.3.1: Third open beta release. | ||
- Blocks are now stored on-disk in a database | ||
- Files can be shared via .sia files or ASCII-encoded data | ||
- RPCs are now multiplexed over one physical connection | ||
|
||
March 2015: | ||
|
||
v0.3.0: Second open beta release. | ||
|
||
Jan 2015: | ||
|
||
v0.2.0: First open beta release. | ||
|
||
Dec 2014: | ||
|
||
v0.1.0: Closed beta release. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,55 +1,93 @@ | ||
Sia 1.0.4 | ||
# [![Sia Logo](http://sia.tech/img/svg/sia-green-logo.svg)](http://sia.tech) v1.1.0 (Andromeda) | ||
========= | ||
|
||
[![Build Status](https://travis-ci.org/NebulousLabs/Sia.svg?branch=master)](https://travis-ci.org/NebulousLabs/Sia) | ||
[![GoDoc](https://godoc.org/github.com/NebulousLabs/Sia?status.svg)](https://godoc.org/github.com/NebulousLabs/Sia) | ||
[![Go Report Card](https://goreportcard.com/badge/github.com/NebulousLabs/Sia)](https://goreportcard.com/report/github.com/NebulousLabs/Sia) | ||
|
||
Binaries can be found at [our website](https://sia.tech). Code for the graphical front-end can be found at the [Sia-UI](https://github.com/NebulousLabs/Sia-UI) repo. | ||
Sia is a new decentralized cloud storage platform that radically alters the | ||
landscape of cloud storage. By leveraging smart contracts, client-side | ||
encryption, and sophisticated redundancy (via Reed-Solomon codes), Sia allows | ||
users to safely store their data with hosts that they do not know or trust. | ||
The result is a cloud storage marketplace where hosts compete to offer the | ||
best service at the lowest price. And since there is no barrier to entry for | ||
hosts, anyone with spare storage capacity can join the network and start | ||
making money. | ||
|
||
Traditional cloud storage has a number of shortcomings. Users are limited to a | ||
few big-name offerings: Google, Microsoft, Amazon. These companies have little | ||
incentive to encrypt your data or make it easy to switch services later. Their | ||
code is closed-source, and they can lock you out of your account at any time. | ||
|
||
We believe that users should own their data. Sia achieves this by replacing | ||
the traditional monolithic cloud storage provider with a blockchain and a | ||
swarm of hosts, each of which stores an encrypted fragment of your data. Since | ||
the fragments are redundant, no single host can hold your data hostage: if | ||
they jack up their price or go offline, you can simply download from a | ||
different host. In other words, trust is removed from the equation, and | ||
switching to a different host is painless. Stripped of these unfair | ||
advantages, hosts must compete solely on the quality and price of the storage | ||
they provide. | ||
|
||
Sia can serve as a replacement for personal backups, bulk archiving, content | ||
distribution, and more. For developers, Sia is a low-cost alternative to | ||
Amazon S3. Storage on Sia is a full order of magnitude cheaper than on S3, | ||
with comparable bandwidth, latency, and durability. Sia works best for static | ||
content, especially media like videos, music, and photos. | ||
|
||
Distributing data across many hosts automatically confers several advantages. | ||
The most obvious is that, just like BitTorrent, uploads and downloads are | ||
highly parallel. Given enough hosts, Sia can saturate your bandwidth. Another | ||
advantage is that your data is spread across a wide geographic area, reducing | ||
latency and safeguarding your data against a range of attacks. | ||
|
||
It is important to note that users have full control over which hosts they | ||
use. You can tailor your host set for minimum latency, lowest price, widest | ||
geographic coverage, or even a strict whitelist of IP addresses or public | ||
keys. | ||
|
||
At the core of Sia is a blockchain that closely resembles Bitcoin. | ||
Transactions are conducted in Siacoin, a cryptocurrency. The blockchain is | ||
what allows Sia to enforce its smart contracts without relying on centralized | ||
authority. To acquire siacoins, use an exchange such as [Poloniex](https://poloniex.com), [Yunbi](https://yunbi.com), or | ||
[Bitsquare](https://bitsquare.io). | ||
|
||
To get started with Sia, check out the guides below: | ||
|
||
- [How to Store Data on Sia](https://medium.com/@jhowell1337/getting-started-with-private-decentralized-cloud-storage-c9565dc8c854) | ||
- [How to Become a Sia Host](http://blog.sia.tech/2016/05/26/how-to-run-a-host-on-sia) | ||
- [Using the Sia API](http://blog.sia.tech/2016/10/20/api-quickstart-guide) | ||
|
||
Sia is a new decentralized cloud storage platform aimed at giving users control | ||
of their data. Data is split into hundreds of erasure coded pieces and | ||
encrypted locally, and then each piece is uploaded to a separate host. A | ||
blockchain is used to create cryptographic contracts ensuring that hosts will | ||
only get paid if they actually store the data. Out of hundreds of hosts, only a | ||
fraction are required to recover the original file. | ||
|
||
Anybody can join the network as a host and get income from the storage they | ||
contribute. This openness allows Sia to build and take advantage of a global | ||
network of small datacenters. Combined with advanced algorithms for storing and | ||
retrieving data, Sia is poised to be a highly competitive cloud storage | ||
platform. More information about the technology can be found on our website and | ||
in the 'doc' folder of the repo. | ||
Usage | ||
----- | ||
|
||
Sia is ready for use with small sums of money and non-critical files, but until | ||
the network has a more proven track record, we advise against using it as a | ||
sole means of storing important data. | ||
Sia is ready for use with small sums of money and non-critical files, but | ||
until the network has a more proven track record, we advise against using it | ||
as a sole means of storing important data. | ||
|
||
This release comes with 2 binaries, siad and siac. siad is a background | ||
service, or "daemon," that runs the Sia protocol, and siac is a client that is | ||
used to interact with siad. Siad exposes an HTTP API on 'localhost:9980' which | ||
can be used to interact with the daemon. There is a front-end program called | ||
Sia-UI which can be used to interact with the daemon in a more user-friendly | ||
way. Documentation on the API can be found in doc/API.md. | ||
|
||
Usage | ||
----- | ||
service, or "daemon," that runs the Sia protocol and exposes an HTTP API on | ||
port 9980. siac is a command-line client that can be used to interact with | ||
siad in a user-friendly way. There is also a graphical client, [Sia-UI](https://github.com/NebulousLabs/Sia-UI), which | ||
is the preferred way of using Sia for most users. For interested developers, | ||
the siad API is documented [here](doc/API.md). | ||
|
||
siad and siac are run via command prompt. On Windows, you can just double- | ||
click siad.exe if you don't need to specify any command-line arguments. | ||
Otherwise, navigate to the sia folder and click File->Open command prompt. | ||
Then, start the siad service by entering `siad` and pressing Enter. The | ||
command prompt may appear to freeze; this means siad is waiting for requests. | ||
Windows users may see a warning from the Windows Firewall; be sure to check | ||
both boxes ("Private networks" and "Public networks") and click "Allow | ||
access." You can now run `siac` in a separate command prompt to interact with | ||
siad. From here, you can send money, mine blocks, upload and download | ||
Otherwise, navigate to its containing folder and click File->Open command | ||
prompt. Then, start the siad service by entering `siad` and pressing Enter. | ||
The command prompt may appear to freeze; this means siad is waiting for | ||
requests. Windows users may see a warning from the Windows Firewall; be sure | ||
to check both boxes ("Private networks" and "Public networks") and click | ||
"Allow access." You can now run `siac` (in a separate command prompt) or Sia- | ||
UI to interact with siad. From here, you can send money, upload and download | ||
files, and advertise yourself as a host. | ||
|
||
Building From Source | ||
-------------------- | ||
|
||
To build from source, [Go 1.6 must be installed](https://golang.org/doc/install) | ||
To build from source, [Go 1.7 must be installed](https://golang.org/doc/install) | ||
on the system. Then simply use `go get`: | ||
|
||
``` | ||
|
@@ -66,115 +104,3 @@ can also run `make test` and `make test-long` to run the short and full test | |
suites, respectively. Finally, `make cover` will generate code coverage reports | ||
for each package; they are stored in the `cover` folder and can be viewed in | ||
your browser. | ||
|
||
Troubleshooting | ||
--------------- | ||
|
||
- I can't add storage folders on Windows. | ||
|
||
Currently, admin privileges are required to add storage folders on Windows. | ||
Close siad and run it from an admin command prompt. Future versions will not | ||
require admin privileges. | ||
|
||
- I can't connect to more than 8 peers. | ||
|
||
Once Sia has connected to 8 peers, it will stop trying to form new | ||
connections, but it will still accept incoming connection requests (up to 128 | ||
total peers). However, if you are behind a firewall, you will not be able to | ||
accept incoming connections. You must configure your firewall to allow Sia | ||
connections by forwarding your ports. By default, Sia communicates on ports | ||
9981 and 9982. The specific instructions for forwarding a port vary by | ||
router. For more information, consult [this guide](http://portfoward.com). | ||
|
||
Sia currently has support for UPnP. While not all routers support UPnP, a | ||
majority of users should have their ports automatically forwarded by UPnP. | ||
|
||
- I mined a block, but I didn't receive any money. | ||
|
||
There is a 144-block confirmation delay before you will receive siacoins from | ||
mined blocks. If you still have not received the block reward after 144 | ||
blocks, it means your block did not make it into the blockchain. | ||
|
||
If your issue is not addressed above, you can get in touch with us personally: | ||
|
||
slack: https://siatalk.slack.com (https://slackin.sia.tech for an invite) | ||
|
||
email: | ||
|
||
[email protected] | ||
|
||
[email protected] | ||
|
||
Version Information | ||
------------------- | ||
|
||
- v1.0.0 represents a landmark in the development of Sia. In accordance with | ||
semver, API compatibility will not be broken until v2.0.0, which is not on | ||
the current development roadmap. In other words, developers should feel | ||
confident leveraging the siad API in their own applications. When new | ||
functionality is added, it will be added in a backwards-compatible manner. | ||
New routes may be added, and new parameters may be added to existing routes | ||
or responses, but none of the routes present in v1.0.0 will be removed, nor | ||
will any of their parameters or response fields be removed. | ||
|
||
- v1.0.4 has a companion LTS release, v1.0.4-lts. Please read our [forum post](http://forum.sia.tech/topic/793/november-2016-update-roadmap) | ||
for more information. | ||
|
||
Please tell us about any problems you run into, and any features you want! The | ||
advantage of being a beta user is that your feedback will have a large impact | ||
on what we do in the next few months. Thank you! | ||
|
||
Version History | ||
--------------- | ||
|
||
December 2016: | ||
|
||
v1.0.4 (LTS release) | ||
|
||
October 2016: | ||
|
||
v1.0.3 (patch release) | ||
- Greatly improved renter stability | ||
- Smarter HostDB | ||
- Numerous minor bug fixes | ||
|
||
July 2016: | ||
|
||
v1.0.1 (patch release) | ||
- Restricted API address to localhost | ||
- Fixed renter/host desynchronization | ||
- Fixed host silently refusing new contracts | ||
|
||
June 2016: | ||
|
||
v1.0.0 (major release) | ||
- Finalized API routes | ||
- Add optional API authentication | ||
- Improve automatic contract management | ||
|
||
May 2016: | ||
|
||
v0.6.0 (minor release) | ||
- Switched to long-form renter contracts | ||
- Added support for multiple hosting folders | ||
- Hosts are now identified by their public key | ||
|
||
January 2016: | ||
|
||
v0.5.2 (patch) | ||
- Faster initial blockchain download | ||
- Introduced headers-only broadcasting | ||
|
||
v0.5.1 (patch) | ||
- Fixed bug severely impacting performance | ||
- Restored (but deprecated) some siac commands | ||
- Added modules flag, allowing modules to be disabled | ||
|
||
v0.5.0 (minor release) | ||
- Major API changes to most modules | ||
- Automatic contract renewal | ||
- Data on inactive hosts is reuploaded | ||
- Support for folder structure | ||
- Smarter host | ||
|
||
For older release notes, consult the git history of this file. |
Oops, something went wrong.