Skip to content

will-rowe/stark

Repository files navigation

stark-logo

Sequence Transmission And Record Keeping


travis GoDoc goreportcard codecov Documentation Status

Overview

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

Quickstart

Requirements

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.

Install

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}

Usage

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

Documentation

Visit the stark documentation site and the Go package documentation for more information.