commerceblock / mainstay

Federated blockchain attestation daemon
MIT License
15 stars 8 forks source link

Mainstay

The mainstay repository is an application that implements the Mainstay protocol designed by CommerceBlock. It consists of a Go daemon that performs attestations of the Ocean network along with client commitments to Bitcoin in the form of a commitment merkle tree.

Mainstay is accompanied by a Confirmation tool that can be run in parallel with the Bitcoin network to confirm attestations and prove the commitment inclusion in Mainstay attestations.

Prerequisites

Instructions

Attestation Service

Tools

Along with the Mainstay daemon there is various tools offered serving utilities for both Mainstay operators and clients of Mainstay. These tools and their functionality are briefly summarized below:

The confirmation tool cmd/confirmationtool can be used to confirm all the attestations of a client Ocean-type network to Bitcoin and wait for any new attestations that will be happening.

The commitment tool cmd/commitmenttool can be used to send hash commitments to the Mainstay API.

The transaction signing tool cmd/txsigningtool is a dummy testing tool for signing multisig attestations.

The client signup tool cmd/clientsignuptool can be used to sign up new clients to the Mainstay service.

The multisig tool cmd/multisigtool can be used to generate multisig scripts and P2SH addresses for Mainstay configuration.

For more information go to tool guidelines.

For example use cases go to docs.