80727ae90b
* adds netstate rpc server pagination, mocks pagination in test/util.go * updates ns client example, combines ns client and server test to netstate_test, adds pagination to bolt client * better organizes netstate test calls * wip breaking netstate test into smaller tests * wip modularizing netstate tests * adds some test panics * wip netstate test attempts * testing bug in netstate TestDeleteAuth * wip fixes global variable problem, still issues with list * wip fixes get request params and args * fixes bug in path when using MakePointers helper fn * updates mockdb list func, adds test, changes Limit to int * fixes merge conflicts * fixes broken tests from merge * remove unnecessary PointerEntry struct * removes error when Get returns nil value from boltdb * breaks boltdb client tests into smaller tests * renames AssertNoErr test helper to HandleErr * adds StartingKey and Limit parameters to redis list func, adds beginning of redis tests * adds helper func for mockdb List function * if no starting key provided for netstate List, the first value in storage will be used * adds basic pagination for redis List function, adds tests * adds list limit to call in overlay/server.go * streamlines/fixes some nits from review * removes use of obsolete EncryptedUnencryptedSize * uses MockKeyValueStore instead of redis instance in redis client test * changes test to expect nil returned for getting missing key * remove error from `KeyValueStore#Get` * fix bolt test * Merge pull request #1 from bryanchriswhite/nat-pagination remove error from `KeyValueStore#Get` * adds Get returning error back to KeyValueStore interface and affected clients * trying to appease travis: returns errors in Get calls in overlay/cache and cache_test * handles redis get error when no key found |
||
---|---|---|
api | ||
assets | ||
build | ||
cmd | ||
configs | ||
deployments | ||
docs | ||
examples | ||
githooks | ||
init | ||
internal | ||
logo | ||
netstate/auth | ||
pkg | ||
protos | ||
scripts | ||
static | ||
storage | ||
test | ||
third_party | ||
tools | ||
web | ||
.gitignore | ||
.travis.yml | ||
go.mod | ||
Gopkg.lock | ||
Gopkg.toml | ||
index.html | ||
Jenkinsfile | ||
LICENSE.md | ||
Makefile | ||
README.md |
Storj
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 called 'shards' and stored in a global decentralized network of computers. Only you have access and the ability to retrieve all shards from the network, decrypt them, and finally re-combine all file pieces into your original file.
To start using Storj
See our documentation at Storj docs.
To start developing Storj
The community site hosts all information about building storj from source, how to contribute code and documentation, who to contact about what, etc.
Install VGO
go get -u golang.org/x/vgo
Install non-go development dependencies
In order to develop on Storj, you will need to have the protobuf
compiler installed on your system.
-
Grab the latest release for your system from here.
-
place the
protoc
binary in your path. i.e.mv $HOME/Downloads/protoc-<version>-<arch>/bin/protoc /usr/local/bin
Install go dependencies
Use vgo to install both dev and non-dev dependencies.
-
Install development dependencies
make build-dev-deps
-
Install project dependencies
# in project root vgo install
If you want to build Storj right away there are two options:
You have a working Go environment.
$ go get -d storj.io/storj
$ cd $GOPATH/src/storj.io/storj
$ make
You have a working Docker environment.
$ git clone https://github.com/storj/storj
$ cd storj
$ make docker
For the full story, head over to the [developer's documentation].
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.