stark is an IPFS-backed database for recording and distributing sequencing data. It is both an application and a Go Package for running and interacting with stark databases. Features include:
- snapshot, sync and share entire databases over the IPFS
- use PubSub messaging to share and collect data records as they are created
- track record history and rollback revisions (rollback feature WIP)
- attach and sync files to records (WIP)
- encrypt record fields
- submit databases to pinata pinning service for easy backup and distribution
Both the app and the Go package require IPFS (specifically, the Go implementation: go-ipfs
). See download and install instructions here.
Then make sure you have an IPFS repository initialised on your machine.
The easiest way to install is using Go (v1.14):
export GO111MODULE=on
release=0.0.0
go get -v github.com/will-rowe/stark/...@${release}
For using the Go package, see the Go documentation and the examples.
The following are some basic commands for using the stark app:
- Use the
open
subcommand to open a database and serve it via gRPC:
stark open my-project
- Use the
add
subcommand to add a Record to an open database:
stark add -f record.json
- Or use the
add
subcommand with no arguments to create a Record interactively and then add it:
stark add
- Use the
get
subcommand to retrieve a Record from an open database:
stark get my-record-key -H > record.json
Visit the stark documentation site and the Go package documentation for more information.