core

package module
v0.4.8 Latest Latest
Warning

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

Go to latest
Published: Jul 1, 2020 License: Apache-2.0 Imports: 0 Imported by: 0

README

Stratumn Core Utilities

GoDoc Build Status codecov Go Report Card

Stratumn's open-source utilities to create decentralized applications and networks.

To get started, visit our developer portal.


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/golangci/golangci-lint/cmd/golangci-lint
make lint

Build tagged docker images:

make docker_images

Releasing a new version

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

You'll need to add your PGP public key to the Stratumn CLI in the pubkey.go file.

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 core contains Stratumn's utilities to create decentralized 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 batchfossilizer implements a fossilizer that fossilizes batches of data using a merkle tree.
Package batchfossilizer implements a fossilizer that fossilizes batches of data using a merkle tree.
evidences
Package evidences defines batchfossilizer evidence types.
Package evidences defines batchfossilizer evidence types.
Package blockchain defines primitives to work with blockchains.
Package blockchain defines primitives to work with blockchains.
blockchaintesting
Package blockchaintesting contains test utilies for packages that depend on the blockchain packages.
Package blockchaintesting contains test utilies for packages that depend on the blockchain packages.
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.
Package blockchainfossilizer implements a fossilizer that fossilize hashes on a blockchain.
Package blockchainfossilizer implements a fossilizer that fossilize hashes on a blockchain.
evidences
Package evidences defines blockchainfossilizer evidence types.
Package evidences defines blockchainfossilizer evidence types.
Package cloud contains utilites for cloud services providers.
Package cloud contains utilites for cloud services providers.
aws
Package aws contains utilites for Amazon Web Services.
Package aws contains utilites for Amazon Web Services.
cmd
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.
elasticsearchtmpop
The command elasticsearchtmpop starts a tmpop node with a elasticsearchstore.
The command elasticsearchtmpop starts a tmpop node with a elasticsearchstore.
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.
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.
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 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 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.
Package testutil contains helpers for tests.
Package testutil contains helpers for tests.
evidences
Package evidences defines Tendermint proofs.
Package evidences defines Tendermint proofs.
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