github.com/fozzysec/SiaPrime@v0.0.0-20190612043147-66c8e8d11fe3/README.md (about)

     1  # [![SiaPrime Logo](https://siaprime.net/imagestore/primelogo_cb_256x256.png)](http://siaprime.net) v1.3.8
     2  
     3  [![Build Status](https://gitlab.com/SiaPrime/SiaPrime/badges/master/build.svg)](https://gitlab.com/SiaPrime/SiaPrime/commits/master)
     4  [![Coverage Report](https://gitlab.com/SiaPrime/SiaPrime/badges/master/coverage.svg)](https://gitlab.com/SiaPrime/SiaPrime/commits/master)
     5  [![GoDoc](https://godoc.org/gitlab.com/SiaPrime/SiaPrime?status.svg)](https://godoc.org/gitlab.com/SiaPrime/SiaPrime)
     6  [![Go Report Card](https://goreportcard.com/badge/gitlab.com/SiaPrime/SiaPrime)](https://goreportcard.com/report/gitlab.com/SiaPrime/SiaPrime)
     7  [![License MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://img.shields.io/badge/License-MIT-brightgreen.svg)
     8  
     9  SiaPrime is a decentralized cloud storage platform based on the Sia core 
    10  protocol. Leveraging smart contracts, client-side encryption, and sophisticated
    11  redundancy (via Reed-Solomon codes), SiaPrime allows users to safely store their 
    12  data with hosts that they do not know or trust. The result is a cloud storage 
    13  marketplace where hosts compete to offer the best service at the lowest price. 
    14  Hosts can include everyone from individual hobbyists up to enterprise-scale 
    15  datacenters with excess capacity to sell. 
    16  
    17  The SiaPrime protocol currently provides very basic storage capability. We expect
    18  the SiaPrime product suite will begin to roll out in 2019 as we work in parallel
    19  with SiaPrime core developers to deliver live products as soon as the protocol can 
    20  support them. As they build key features into the network, we'll extend
    21  into an easy-to-use application suite with versions geared at different
    22  customer profiles and market verticals.
    23  
    24  ![UI](https://gitlab.com/SiaPrime/SiaPrime/raw/master/doc/assets/prime_wallet.png)
    25  
    26  Traditional cloud storage is dominated by a small number of companies, with
    27  most based in Silicon Valley. China is also dominated by a few entities
    28  creating region specific barriers and firewalls. The individual companies
    29  decide what level of encryption to offer to users, usually based on the price
    30  each customer is willing to pay. All of the companies are compliant with
    31  national laws and even sometimes, with assisting governmental entities to
    32  restrict or compromise user data. They maintain strict control over customer
    33  data in ways that can jeopardize customer security and privacy.
    34  
    35  We are rapidly seeing a public desire to retake control of private data.
    36  Users are demanding companies explain their policies in data gathering and use.
    37  SiaPrime is an important initiative to provide companies, organizations and 
    38  individuals a comprehensive cloud storage environment uncompromised by inside 
    39  or outside interference. This is achieved through fragmenting user data and 
    40  spreading it across a distributed network of hosts. No single datacenter has 
    41  access to your complete data.
    42  
    43  These fragments are duplicated over enough hosts that even if several hosts 
    44  disappear, your data is still accessible. Switching to different hosts for 
    45  better geographic coverage, price, speed or reliability is easy as hosts 
    46  compete with each other to provide the best service offering. 
    47  
    48  As we develop and release our product suite for customers, SiaPrime will 
    49  offer a complete cloud storage solution for file backup, long term archival 
    50  needs, CDN use cases as well as bridging the gap between online and offline 
    51  strategies. 
    52  
    53  The SiaPrime network allows for highly parallel data transfer, which when 
    54  coupled with geographic targeting can significantly reduce latency and access 
    55  to your data no matter if you are storing family photos or large database 
    56  backups.
    57  
    58  
    59  The process of choosing hosts on the SiaPrime network allows customers to 
    60  choose based on latency, lowest price, widest geographic coverage, or even a 
    61  strict whitelist of IP addresses or public keys. We expect to provide customers 
    62  multiple ways to purchase storage on the SiaPrime network, including simple 
    63  Dropbox-like web interfaces up to sophisticated client dashboards for 
    64  enterprise clients.
    65  
    66  Purchasing storage on the network will have several variants, though all 
    67  ultimately use our core cryptocurrency utility token called a PrimeToken. 
    68  PrimeTokens will be available on cryptocurrency exchanges. We will also be 
    69  creating fiat to storage gateways to encourage broad adoption of the SiaPrime 
    70  storage model. 
    71  
    72  Because SiaPrime is based on the core SiaPrime protocol, we expect SiaPrime software 
    73  and custom integrations to  facilitate purchase of storage on the main SiaPrime 
    74  network as well as SiaPrime project forks that continue to use the core protocol. As 
    75  the protocol becomes widely used, it is likely individual SiaPrime blockchains will 
    76  experience typical scaling issues. Though we expect the Nebulous team to work 
    77  on solutions, multiple chains/networks have the potential to ease scaling 
    78  issues while providing another layer of redundancy and privacy. 
    79  
    80  
    81  To get started with SiaPrime, check out the initial SiaPrime guides below. The 
    82  interface is the same except for our branding. As we launch our own product 
    83  suite, the core application should still exist but be less useful:
    84  
    85  Check out the guides below:
    86  
    87  - [How to Store Data on SiaPrime](https://blog.sia.tech/getting-started-with-private-decentralized-cloud-storage-c9565dc8c854)
    88  - [How to Become a SiaPrime Host](https://blog.sia.tech/how-to-run-a-host-on-sia-2159ebc4725)
    89  - [Using the SiaPrime API](https://blog.sia.tech/api-quickstart-guide-f1d160c05235)
    90  
    91  
    92  Usage
    93  -----
    94  This release comes with 2 binaries, `spd` and `spc`. `spd` is a background
    95  service, or "daemon," that runs the SiaPrime protocol and exposes an HTTP API on
    96  port 4280. `spc` is a command-line client that can be used to interact with
    97  `spd` in a user-friendly way. There is also a graphical client, [SiaPrime-UI](https://gitlab.com/SiaPrime/SiaPrime-UI), 
    98  which is the preferred way of using SiaPrime for most users. For interested 
    99  developers, the `spd` API is documented [here](doc/API.md).
   100  
   101  On Windows, double-click `spd.exe`. For command line operation, navigate to the
   102  containing folder and click File->Open command prompt. Start the `spd` service 
   103  by entering `spd` and pressing Enter. The command prompt may appear to freeze; 
   104  this means `spd` is waiting for requests. Windows users may see a warning from 
   105  Windows Firewall; be sure to check both boxes ("Private networks" and "Public 
   106  networks") and click "Allow access." You can now run `spc` (in a separate command
   107  prompt) or SiaPrime-UI to interact with `spd`. 
   108  
   109  Building From Source
   110  --------------------
   111  
   112  To build from source, [Go 1.10 must be installed](https://golang.org/doc/install)
   113  on the system. Make sure your `$GOPATH` is set, and then simply use `go get`:
   114  
   115  ```
   116  go get -u gitlab.com/SiaPrime/SiaPrime/...
   117  ```
   118  
   119  This will download the SiaPrime repo to your `$GOPATH/src` folder and install 
   120  the`spd` and `spc` binaries in your `$GOPATH/bin` folder.
   121  
   122  To stay up-to-date, run the previous `go get` command again. Alternatively, you
   123  can use the Makefile provided in this repo. Run `git pull origin master` to
   124  pull the latest changes, and `make release` to build the new binaries. You
   125  can also run `make test` and `make test-long` to run the short and full test
   126  suites, respectively. Finally, `make cover` will generate code coverage reports
   127  for each package; they are stored in the `cover` folder and can be viewed in
   128  your browser.