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.