orchestrator-relayer
Contains the implementation of the QGB orchestrator and relayer.
The orchestrator is the software that signs the QGB attestations, and the relayer is the one that relays them to the target EVM chain.
For a high-level overview of how the QGB works, check here and here.
Install
- Install Go 1.21.1
- Clone this repo
- Install the QGB CLI
make install
Usage
# Print help
qgb --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 QGB contract and run a relayer. Check here for relayer docs and here for how to deploy a new QGB contract.
Note: the QGB P2P network is a separate network than the consensus or the data availability one. Thus, you will need its specific bootstrappers to be able to connect to it.
Contributing
Tools
- Install golangci-lint
- Install markdownlint
Helpful Commands
# Build a new orchestrator-relayer binary and output to build/qgb
make build
# Run tests
make test
# Format code with linters (this assumes golangci-lint and markdownlint are installed)
make fmt
Useful links
The smart contract implementation is in quantum-gravity-bridge.
The state machine implementation is in x/qgb.
QGB ADRs are in the docs.
QGB design explained in this blog.