sdk

package module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 2, 2018 License: Apache-2.0 Imports: 0 Imported by: 0

README

Logo

Stratumn SDK

Stratumn's SDK to create Indigo applications and networks.

GoDoc build status codecov Go Report Card


The SDK includes tools to build Proof of Process Networks using the Indigo Framework.

To get started, visit the Indigo Framework website: https://indigoframework.com

Run tests

You need Docker to be able to run the tests. The images couchstore:latest, rethink:latest and postgres:latest will be run automatically (and pulled from the docker hub if you don't already have them locally).

Install dependencies:

go get -u github.com/golang/dep/cmd/dep
dep ensure

To manage dependencies, see dep.

Run all tests:

make test

See test coverage in the browser:

make coverhtml

Run the linter:

go get -u github.com/golang/lint/golint
make lint

Build tagged docker images:

make docker_images

Releasing a new version

If you want to release a new version of the Stratumn SDK, here is what you need to do. You need to install:

You'll need to add your PGP public key to strat/cmd/pubkey.go

Then at the root of the repo:

  • Update the CHANGELOG file
  • Create a branch named vA.B.x (for example: 0.1.x) from master
  • On this new branch, create a VERSION file that contains the version (for example: 0.1.0)
  • Set the pre-release flag in PRERELEASE if needed
  • Run make release (this will create the tag, build the binaries and the docker images, push the docker images and publish a release on Github)

License

Copyright 2017 Stratumn SAS. All rights reserved.

Unless otherwise noted, the source files are distributed under the Apache License 2.0 found in the LICENSE file.

Third party dependencies included in the vendor directory are distributed under their respective licenses.

Documentation

Overview

Package sdk contains Stratumn tools and functionality to create Indigo applications and networks.

Unless otherwise noted, the source files are distributed under the Apache License 2.0 found in the LICENSE file.

Third party dependencies included in the vendor directory are distributed under their respective licenses.

Directories

Path Synopsis
Package agent is a generated GoMock package.
Package agent is a generated GoMock package.
Package batchfossilizer implements a fossilizer that fossilize batches of data using a Merkle tree.
Package batchfossilizer implements a fossilizer that fossilize batches of data using a Merkle tree.
Package bcbatchfossilizer implements a fossilizer that fossilize batches of hashes on a blockchain.
Package bcbatchfossilizer implements a fossilizer that fossilize batches of hashes on a blockchain.
Package blockchain defines primitives to work with blockchains.
Package blockchain defines primitives to work with blockchains.
btc
Package btc defines primitives to work with Bitcoin.
Package btc defines primitives to work with Bitcoin.
btc/blockcypher
Package blockcypher defines primitives to work with the BlockCypher API.
Package blockcypher defines primitives to work with the BlockCypher API.
btc/btctesting
Package btctesting defines helpers to test Bitcoin.
Package btctesting defines helpers to test Bitcoin.
btc/btctimestamper
Package btctimestamper implements a fake Bitcoin timestamper which can be used for testing.
Package btctimestamper implements a fake Bitcoin timestamper which can be used for testing.
dummytimestamper
Package dummytimestamper implements a fake blockchain timestamper which can be used for testing.
Package dummytimestamper implements a fake blockchain timestamper which can be used for testing.
cmd
btcfossilizer
The command btcfossilizer starts an HTTP server with a batch fossilizer on a Bitcoin blockchain.
The command btcfossilizer starts an HTTP server with a batch fossilizer on a Bitcoin blockchain.
dummybatchfossilizer
The command dummybatchfossilizer starts an HTTP server with a batch fossilizer on a dummy blockchain.
The command dummybatchfossilizer starts an HTTP server with a batch fossilizer on a dummy blockchain.
dummyfossilizer
The command dummnyfossilizer starts a fossilizerhttp server with a dummyfossilizer.
The command dummnyfossilizer starts a fossilizerhttp server with a dummyfossilizer.
dummystore
The command dummystore starts a storehttp server with a dummystore.
The command dummystore starts a storehttp server with a dummystore.
dummytmpop
The command filetmpop starts a tmpop node with a filestore.
The command filetmpop starts a tmpop node with a filestore.
filestore
The command filestore starts a storehttp server with a filestore.
The command filestore starts a storehttp server with a filestore.
filetmpop
The command filetmpop starts a tmpop node with a filestore.
The command filetmpop starts a tmpop node with a filestore.
postgresstore
The command postgresstore starts an HTTP server with a postgresstore.
The command postgresstore starts an HTTP server with a postgresstore.
postgrestmpop
The command postgrestmpop starts a tmpop node with a postgresstore.
The command postgrestmpop starts a tmpop node with a postgresstore.
rethinkstore
The command rethinkstore starts an HTTP server with a rethinkstore.
The command rethinkstore starts an HTTP server with a rethinkstore.
rethinktmpop
The command rethinktmpop starts a tmpop node with a rethinkstore.
The command rethinktmpop starts a tmpop node with a rethinkstore.
strat
The command strat contains various subcommands for the Stratumn SDK.
The command strat contains various subcommands for the Stratumn SDK.
tmdummy
The command filetmpop starts a tmpop node with a filestore.
The command filetmpop starts a tmpop node with a filestore.
tmstore
The command tmstore starts an HTTP server with a tmstore.
The command tmstore starts an HTTP server with a tmstore.
cs
Package cs defines types to work with Chainscripts.
Package cs defines types to work with Chainscripts.
cstesting
Package cstesting defines helpers to test Chainscripts.
Package cstesting defines helpers to test Chainscripts.
evidences
Package evidences defines any type of proof that can be used in a chainscript segment It is needed by a store to know how to deserialize a segment containing any type of proof
Package evidences defines any type of proof that can be used in a chainscript segment It is needed by a store to know how to deserialize a segment containing any type of proof
Package dummyfossilizer implements a fossilizer that can be used for testing.
Package dummyfossilizer implements a fossilizer that can be used for testing.
Package dummystore implements a store that saves all the segments in memory.
Package dummystore implements a store that saves all the segments in memory.
Package filestore implements a store that saves all the segments to the file system.
Package filestore implements a store that saves all the segments to the file system.
Package fossilizer defines types to implement a fossilizer.
Package fossilizer defines types to implement a fossilizer.
fossilizerhttp
Package fossilizerhttp is used to create an HTTP server from a fossilizer adapter.
Package fossilizerhttp is used to create an HTTP server from a fossilizer adapter.
fossilizertesting
Package fossilizertesting defines helpers to test fossilizers.
Package fossilizertesting defines helpers to test fossilizers.
Package generator deals with creating projects from template files.
Package generator deals with creating projects from template files.
repo
Package repo deals with a Github repository of generators.
Package repo deals with a Github repository of generators.
Package jsonhttp defines a simple HTTP server that renders JSON.
Package jsonhttp defines a simple HTTP server that renders JSON.
Package jsonws defines functionality to deal with web sockets and JSON.
Package jsonws defines functionality to deal with web sockets and JSON.
jsonwstesting
Package jsonwstesting defines helpers to test web sockets.
Package jsonwstesting defines helpers to test web sockets.
Package leveldbstore implements a simple key-value local store.
Package leveldbstore implements a simple key-value local store.
Package merkle contains types and functions to create and work with Merkle trees.
Package merkle contains types and functions to create and work with Merkle trees.
treetestcases
Package treetestcases contains test cases to test Merkle tree implementation.
Package treetestcases contains test cases to test Merkle tree implementation.
Package postgresstore implements a store that saves all the segments in a PostgreSQL database.
Package postgresstore implements a store that saves all the segments in a PostgreSQL database.
Package rethinkstore implements a store that saves all the segments in a RethinkDB database.
Package rethinkstore implements a store that saves all the segments in a RethinkDB database.
Package store defines types to implement a store.
Package store defines types to implement a store.
storehttp
Package storehttp is used to create an HTTP server from a store adapter.
Package storehttp is used to create an HTTP server from a store adapter.
storetestcases
Package storetestcases defines test cases to test stores.
Package storetestcases defines test cases to test stores.
storetesting
Package storetesting defines helpers to test stores.
Package storetesting defines helpers to test stores.
strat
cmd
Package cmd implements command line commands for strat.
Package cmd implements command line commands for strat.
Package testutil contains helpers for tests.
Package testutil contains helpers for tests.
Package tmstore implements a store that saves all the segments in a tendermint app
Package tmstore implements a store that saves all the segments in a tendermint app
Package types defines common types.
Package types defines common types.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL