Go to file
JT Olio d986c337aa streamstore: add passthrough implementation (#176)
this doesn't implement streamstore, this just allows us to try and
get the june demo working again in the meantime
2018-07-27 12:13:08 -06:00
cmd pkg/provider: with pkg/provider merged, make a single heavy client binary, gateway binary, and deprecate old services (#165) 2018-07-26 08:21:35 -06:00
docs Add error handling section 2018-04-11 07:43:23 -05:00
examples Refactor List in PointerDB (#163) 2018-07-27 09:02:59 +03:00
internal pkg/provider: with pkg/provider merged, make a single heavy client binary, gateway binary, and deprecate old services (#165) 2018-07-26 08:21:35 -06:00
logo wip on structure 2018-04-06 12:32:34 -04:00
pkg streamstore: add passthrough implementation (#176) 2018-07-27 12:13:08 -06:00
pointerdb/auth Refactor List in PointerDB (#163) 2018-07-27 09:02:59 +03:00
protos Minio integration with Object store (#156) 2018-07-27 08:34:40 -04:00
scripts protos: update protobufs with go generate (#169) 2018-07-26 13:20:02 -07:00
static Cache (#67) 2018-06-05 17:06:37 -04:00
storage adds netstate pagination (#95) 2018-06-29 16:06:25 -04:00
test Add files for testing builds in docker (#161) 2018-07-25 17:47:02 -04:00
.clabot updating github user to personal account (#171) 2018-07-27 11:14:30 -06:00
.gitignore Admin node (#131) 2018-07-09 16:43:32 -06:00
.travis.yml Add files for testing builds in docker (#161) 2018-07-25 17:47:02 -04:00
docker-compose.yaml Add files for testing builds in docker (#161) 2018-07-25 17:47:02 -04:00
go.mod pkg/kademlia tests and restructuring (#97) 2018-06-22 09:33:57 -04:00
Gopkg.lock Admin node (#131) 2018-07-09 16:43:32 -06:00
Gopkg.toml dep init (#56) 2018-05-29 20:28:46 -06:00
index.html Cache (#67) 2018-06-05 17:06:37 -04:00
Jenkinsfile Add files for testing builds in docker (#161) 2018-07-25 17:47:02 -04:00
LICENSE license code with agplv3 (#126) 2018-07-05 10:24:26 -04:00
Makefile fix docker makefile (#170) 2018-07-26 16:01:38 -04:00
README.md update readme (#174) 2018-07-27 09:29:45 -07:00

Storj

Go Report Card Go Doc

Coverage Status


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!


Storj is in the midst of a rearchitecture. Please stay tuned for our v3 whitepaper!

To start developing

Install required packages

First of all, install git and golang.

Debian based (like Ubuntu)

apt-get install git golang
echo 'export GOPATH="$HOME/go"' >> $HOME/.bashrc
echo 'export PATH="$PATH:${GOPATH//://bin:}/bin"' >> $HOME/.bashrc
source $HOME/.bashrc

Mac OSX

brew install git go
if test -e $HOME/.bash_profile
then
	echo 'export GOPATH="$HOME/go"' >> $HOME/.bash_profile
	echo 'export PATH="$PATH:${GOPATH//://bin:}/bin"' >> $HOME/.bash_profile
	source $HOME/.bash_profile
else
	echo 'export GOPATH="$HOME/go"' >> $HOME/.profile
	echo 'export PATH="$PATH:${GOPATH//://bin:}/bin"' >> $HOME/.profile
	source $HOME/.profile
fi

Install storj

Clone the storj repository. You may want to clone your own fork and branch.

git clone https://github.com/storj/storj $GOPATH/src/storj.io/storj

Install all dependencies

go get can be used to install all dependencies. The execution will take some time. You can add -v if you want to get more feedback.

go get -t storj.io/storj/...

Fix error message cannot use "github.com/minio/cli" See https://github.com/minio/minio/issues/5974 for more details.

go get -t github.com/minio/cli && rm -rf $GOPATH/src/github.com/minio/minio/vendor/github.com/minio/cli
go get -t storj.io/storj/...

Run unit tests

go clean -testcache
go test storj.io/storj/...

You can execute only a single test package. For example: go test storj.io/storj/pkg/kademlia. Add -v for more informations about the executed unit tests.

Start the network

go install -v storj.io/storj/cmd/captplanet
captplanet setup
captplanet run

Support

If you need support, start with the [troubleshooting guide], and work your way through the process that we've outlined.

That said, if you have any questions or suggestions please reach out to us on rocketchat or twitter.