storj/cmd/netstate
nfarah86 f9af3b6ee4
Mutex/auth grpc (#50)
* initial commit for PUT request authorization

* inital auth for put request

* auth. request working for all req

* deleted library

* removed .db files

* work in progress for modifying test suite to accomodate credentials

* modified tests

* gofmt, fixed code based on suggestions; test passed

* gofmt again

* merged nat's update on pointers, passed tests, cleanup from git rebase

* fixed fmt

* fixed fmt on tests

* work in progress

* reduced code

* fixed naming conventions

* added line in code

* fixed server bug, merged new code to server, added env

* fixed linter; getting cright issues on piecestore

* added comments for what passes on the creds
2018-06-04 09:45:07 -07:00
..
main.go Mutex/auth grpc (#50) 2018-06-04 09:45:07 -07:00
README.md Enables netstate service to save pointers (#49) 2018-05-29 22:47:40 -04:00

gRPC Server + BoltDB Crud Interface

This is a gRPC server which handles CRUD (create, read, update, delete) requests for storing pointers at given paths in BoltDB. An example Put Request to store a path and pointer would look like this:

	pr := proto.PutRequest{
		Path: []byte("here's/a/pointer/path"),
		Pointer: &proto.Pointer{
			Type: proto.Pointer_INLINE,
			Encryption: &proto.EncryptionScheme{
				EncryptedEncryptionKey: []byte("key"),
				EncryptedStartingNonce: []byte("nonce"),
			},
			InlineSegment: []byte("littledata"),
		},
	}

To run the server:

go run cmd/netstate/main.go

You can also run using these flags: -port=<port-number> -prod=<bool> -db=<db-name>

You can then write a client program using the client library to access the Put, Get, List, and Delete methods to create and interact with pointer entries stored in BoltDB. An example program utilizing these functions can be found at storj.io/storj/examples/netstate-client/main.go.

Afterward, you can also use Bolter or a similar BoltDB viewer to make sure your files were changed as expected.

If changes are made to storj.io/storj/protos/netstate/netstate.proto, the protobuf file will need to be regenerated by running go generate inside protos/netstate.