orchestrator-relayer

module
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2024 License: Apache-2.0

README

orchestrator-relayer

Contains the implementation of the Blobstream orchestrator and relayer.

The orchestrator is the software that signs Blobstream attestations, and the relayer is the one that relays them to the target EVM chain.

For a high-level overview of how Blobstream works, check here and here.

Install

  1. Install Go 1.21
  2. Clone this repo
  3. Install the Blobstream CLI
make install

Usage

# Print help
blobstream --help

How to run

If you are a Celestia-app validator, all you need to do is run the orchestrator. Check here for more details.

If you want to post commitments on an EVM chain, you will need to deploy a new Blobstream contract and run a relayer, or run a relayer to an already deployed Blobstream contract. Check relayer docs and deployment docs for more information.

Note: the Blobstream P2P network is a separate network from the consensus or the data availability one. Thus, you will need its specific bootstrappers to be able to connect to it.

Contributing

Tools
  1. Install golangci-lint
  2. Install markdownlint
Helpful Commands
# Build a new orchestrator-relayer binary and output to build/blobstream
make build

# Run tests
make test

# Format code with linters (this assumes golangci-lint and markdownlint are installed)
make fmt

The smart contract implementation is in blobstream-contracts.

The state machine implementation is in x/blobstream.

Blobstream ADRs are in the docs.

Blobstream design explained in this blog.

Jump to

Keyboard shortcuts

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