2018-08-20 20:46:45 +01:00
|
|
|
# Storj V3 Network
|
2018-04-06 17:32:34 +01:00
|
|
|
|
2018-06-26 12:48:02 +01:00
|
|
|
[![Go Report Card](https://goreportcard.com/badge/github.com/storj/storj)](https://goreportcard.com/report/github.com/storj/storj)
|
2018-04-06 17:32:34 +01:00
|
|
|
[![Go Doc](https://img.shields.io/badge/godoc-reference-blue.svg?style=flat-square)](http://godoc.org/github.com/storj/storj)
|
2018-06-26 12:48:02 +01:00
|
|
|
[![Coverage Status](https://coveralls.io/repos/github/storj/storj/badge.svg?branch=master)](https://coveralls.io/github/storj/storj?branch=master)
|
2018-04-06 17:32:34 +01:00
|
|
|
|
2018-08-06 18:39:20 +01:00
|
|
|
<img src="https://github.com/storj/storj/raw/master/logo/logo.png" width="100">
|
2018-04-06 17:32:34 +01:00
|
|
|
|
2018-07-29 19:53:27 +01:00
|
|
|
Storj is in the midst of a rearchitecture. Please stay tuned for our v3 whitepaper!
|
2018-04-06 17:32:34 +01:00
|
|
|
|
|
|
|
----
|
|
|
|
|
2018-08-26 17:38:38 +01:00
|
|
|
Storj is a platform, token, and suite of decentralized applications that allows
|
|
|
|
you to store data in a secure and decentralized manner. Your files are
|
|
|
|
encrypted, shredded into little pieces and stored in a global decentralized
|
|
|
|
network of computers. Luckily, we also support allowing you (and only you) to
|
|
|
|
recover them!
|
2018-04-06 17:32:34 +01:00
|
|
|
|
2018-08-17 20:05:03 +01:00
|
|
|
## Table of Contents
|
|
|
|
|
|
|
|
- [Storj CLI](#storjcli)
|
|
|
|
- [AWS S3 CLI](#awss3cli)
|
|
|
|
- [Run Storj Locally](#storjlocal)
|
|
|
|
- [Support](#support)
|
|
|
|
|
|
|
|
|
2018-08-10 16:28:38 +01:00
|
|
|
# Start Using Storj
|
|
|
|
|
2018-08-17 20:05:03 +01:00
|
|
|
|
2018-08-26 17:38:38 +01:00
|
|
|
#### Download, setup, and run the latest release
|
2018-08-10 16:28:38 +01:00
|
|
|
|
|
|
|
Go here to download the latest build
|
2018-08-26 17:38:38 +01:00
|
|
|
* TODO: add link when a build is released
|
|
|
|
* TODO for how to run the release
|
2018-08-10 16:28:38 +01:00
|
|
|
|
2018-08-17 20:05:03 +01:00
|
|
|
## Using Storj via the Storj CLI <a name="storjcli"></a>
|
|
|
|
|
|
|
|
#### Configure the Storj CLI
|
|
|
|
1) In a new terminal setup the Storj CLI: ```$ storj setup```
|
2018-08-26 17:38:38 +01:00
|
|
|
2) Edit the API Key, overlay address, and pointer db address fields in the Storj
|
|
|
|
CLI config file located at ```~/.storj/cli/config.yaml``` with values from the
|
|
|
|
captplanet config file located at ```~/.storj/capt/config.yaml```
|
2018-08-17 20:05:03 +01:00
|
|
|
|
|
|
|
#### Test out some Storj CLI commands!
|
|
|
|
|
|
|
|
1) Create a bucket: ```$ storj mb s3://bucket-name```
|
|
|
|
2) Upload an object: ```$ storj cp ~/Desktop/your-large-file.mp4 s3://bucket-name```
|
|
|
|
3) List objects in a bucket: ```$ storj ls s3://bucket-name/ ```
|
|
|
|
4) Download an object: ```$ storj cp s3://bucket-name/your-large-file.mp4 ~/Desktop/your-large-file.mp4```
|
|
|
|
6) Delete an object: ```$ storj rm s3://bucket-name/your-large-file.mp4```
|
|
|
|
|
|
|
|
---
|
2018-08-10 16:28:38 +01:00
|
|
|
|
2018-08-17 20:05:03 +01:00
|
|
|
## Using Storj via the AWS S3 CLI <a name="awss3cli"></a>
|
2018-08-10 16:28:38 +01:00
|
|
|
|
2018-08-17 20:05:03 +01:00
|
|
|
#### Configure AWS CLI
|
2018-08-10 16:28:38 +01:00
|
|
|
|
2018-08-17 20:05:03 +01:00
|
|
|
Download and install the AWS S3 CLI: https://docs.aws.amazon.com/cli/latest/userguide/installing.html
|
|
|
|
|
|
|
|
In a new terminal session configure the AWS S3 CLI:
|
2018-08-10 16:28:38 +01:00
|
|
|
```bash
|
|
|
|
$ aws configure
|
|
|
|
AWS Access Key ID [None]: insecure-dev-access-key
|
|
|
|
AWS Secret Access Key [None]: insecure-dev-secret-key
|
|
|
|
Default region name [None]: us-east-1
|
2018-08-26 17:38:38 +01:00
|
|
|
Default output format [None]:
|
2018-08-10 16:28:38 +01:00
|
|
|
$ aws configure set default.s3.multipart_threshold 1TB # until we support multipart
|
|
|
|
```
|
|
|
|
|
2018-08-26 17:38:38 +01:00
|
|
|
#### Test out some AWS S3 CLI commands!
|
2018-08-10 16:28:38 +01:00
|
|
|
|
2018-08-17 20:05:03 +01:00
|
|
|
1) Create a bucket: ```$ aws s3 --endpoint=http://localhost:7777/ mb s3://bucket-name```
|
|
|
|
2) Upload an object: ```$ aws s3 --endpoint=http://localhost:7777/ cp ~/Desktop/your-large-file.mp4 s3://bucket-name```
|
|
|
|
3) List objects in a bucket: ```$ aws s3 --endpoint=http://localhost:7777/ ls s3://bucket-name/ ```
|
|
|
|
4) Download an object: ```$ aws s3 --endpoint=http://localhost:7777/ cp s3://bucket-name/your-large-file.mp4 ~/Desktop/your-large-file.mp4```
|
|
|
|
5) Generate a URL for an object: ``` $ aws s3 --endpoint=http://localhost:7777/ presign s3://bucket-name/your-large-file.mp4```
|
|
|
|
6) Delete an object: ```$ aws s3 --endpoint=http://localhost:7777/ rm s3://bucket-name/your-large-file.mp4```
|
2018-08-10 16:28:38 +01:00
|
|
|
|
|
|
|
For more information about the AWS s3 CLI visit: https://docs.aws.amazon.com/cli/latest/reference/s3/index.html
|
|
|
|
|
|
|
|
|
2018-08-17 20:05:03 +01:00
|
|
|
# Start Contributing to Storj <a name="storjlocal"></a>
|
2018-04-06 17:32:34 +01:00
|
|
|
|
2018-07-19 20:48:51 +01:00
|
|
|
### Install required packages
|
2018-04-17 14:38:31 +01:00
|
|
|
|
2018-08-26 17:38:38 +01:00
|
|
|
Download and install the latest release of Go, at least Go 1.11:
|
|
|
|
https://golang.org/
|
2018-04-17 14:38:31 +01:00
|
|
|
|
2018-08-26 17:38:38 +01:00
|
|
|
You will also need Git. (`brew install git`, `apt-get install git`, etc).
|
2018-04-17 14:18:36 +01:00
|
|
|
|
2018-08-26 17:38:38 +01:00
|
|
|
Install git and golang. We support Linux, Mac, and Windows operating
|
|
|
|
systems. Other operating systems supported by Go are probably not much
|
|
|
|
additional work.
|
2018-08-10 16:28:38 +01:00
|
|
|
|
2018-08-26 17:38:38 +01:00
|
|
|
### Download and compile Storj
|
2018-08-23 08:05:56 +01:00
|
|
|
|
2018-08-26 17:38:38 +01:00
|
|
|
> **Aside about GOPATH**: Go 1.11 supports a new feature called Go modules,
|
|
|
|
> and Storj has adopted Go module support. If you've used previous Go versions,
|
|
|
|
> Go modules no longer require a GOPATH environment variable. Go by default
|
|
|
|
> falls back to the old behavior if you check out code inside of the directory
|
|
|
|
> referenced by your GOPATH variable, so make sure to use another directory,
|
|
|
|
> `unset GOPATH` entirely, or set `GO111MODULE=on` before continuing with these
|
|
|
|
> instructions. If you don't have a GOPATH set, you can ignore this aside.
|
2018-08-23 08:05:56 +01:00
|
|
|
|
|
|
|
```bash
|
|
|
|
git clone git@github.com:storj/storj storj
|
|
|
|
cd storj
|
2018-08-26 17:38:38 +01:00
|
|
|
go install -v ./cmd/...
|
2018-07-19 20:48:51 +01:00
|
|
|
```
|
2018-04-17 14:18:36 +01:00
|
|
|
|
2018-08-26 17:38:38 +01:00
|
|
|
### Configure a test network
|
2018-04-17 16:26:54 +01:00
|
|
|
|
2018-07-19 20:48:51 +01:00
|
|
|
```bash
|
2018-08-26 17:38:38 +01:00
|
|
|
~/go/bin/captplanet setup
|
2018-07-19 20:48:51 +01:00
|
|
|
```
|
2018-04-27 13:53:46 +01:00
|
|
|
|
2018-08-26 17:38:38 +01:00
|
|
|
### Start the test network
|
2018-04-06 17:32:34 +01:00
|
|
|
|
2018-07-19 20:48:51 +01:00
|
|
|
```bash
|
2018-08-26 17:38:38 +01:00
|
|
|
~/go/bin/captplanet run
|
2018-07-31 18:13:32 +01:00
|
|
|
```
|
|
|
|
|
2018-08-10 16:28:38 +01:00
|
|
|
### Try out some commands via Storj CLI or AWS CLI
|
2018-07-31 18:13:32 +01:00
|
|
|
|
2018-08-10 16:28:38 +01:00
|
|
|
### Run unit tests
|
2018-08-01 22:18:09 +01:00
|
|
|
|
2018-07-31 18:13:32 +01:00
|
|
|
```bash
|
2018-08-26 17:38:38 +01:00
|
|
|
go test -v ./...
|
2018-07-31 18:13:32 +01:00
|
|
|
```
|
|
|
|
|
2018-08-26 17:38:38 +01:00
|
|
|
You can execute only a single test package if you like. For example:
|
|
|
|
`go test ./pkg/kademlia`. Add `-v` for more informations about the executed unit
|
|
|
|
tests.
|
2018-04-06 17:32:34 +01:00
|
|
|
|
2018-08-17 20:05:03 +01:00
|
|
|
## Support <a name="support"></a>
|
2018-04-06 17:32:34 +01:00
|
|
|
|
2018-08-26 17:38:38 +01:00
|
|
|
If you have any questions or suggestions please reach out to us on
|
|
|
|
[Rocketchat](https://community.storj.io/) or
|
|
|
|
[Twitter](https://twitter.com/storjproject).
|