GithubHelp home page GithubHelp logo

ohhkaneda / celestia---evm--bridge Goto Github PK

View Code? Open in Web Editor NEW

This project forked from celestiaorg/blobstream-contracts

0.0 0.0 0.0 2.66 MB

Celestia -> EVM bridge

License: Apache License 2.0

Dockerfile 0.12% Makefile 0.66% Go 75.17% Solidity 17.74% Shell 4.01% TypeScript 2.00% JavaScript 0.30%

celestia---evm--bridge's Introduction

Quantum Gravity Bridge

GoDoc Go Report Card Version License: Apache-2.0 GitHub Super-Linter

The Quantum Gravity Bridge (QGB) is a Celestia -> EVM message relay. It is based on Umee's Gravity Bridge implementation, Peggo. This project is under active development and should not be used in production.

Table of Contents

Building From Source

Dependencies

Building requires Go 1.17+.

Initialize git submodules, needed for Forge dependencies:

git submodule init
git submodule update

To regenerate the Go ABI wrappers with make gen, you need the abigen tool. Install it with:

git clone https://github.com/ethereum/go-ethereum.git
cd go-ethereum
make devtools

Building

make build

Send a message from Celestia to an EVM chain

A message can be included on Celestia by using the Celestia app. Instructions here.

How it works

The QGB allows Celestia block header data roots to be relayed in one direction, from Celestia to an EVM chain. It does not support bridging assets such as fungible or non-fungible tokens directly, and cannot send messages from the EVM chain back to Celestia.

It works by relying on a set of signers to attest to some event on Celestia: the Celestia validator set. The QGB contract keeps track of the Celestia validator set by updating its view of the validator set with updateValidatorSet(). More than 2/3 of the voting power of the current view of the validator set must sign off on new relayed events, submitted with submitDataRootTupleRoot(). Each event is a batch of DataRootTuples, with each tuple representing a single data root (i.e. block header). Relayed tuples are in the same order as Celestia block headers.

Events and messages relayed

Validator sets: The relayer informs the QGB contract who are the current validators and their power. This results in an execution of the updateValidatorSet function.

Batches: The relayer informs the QGB contract of new data root tuple roots. This results in an execution of the submitDataRootTupleRoot function.

celestia---evm--bridge's People

Contributors

mankenavenkatesh avatar alexanderbez avatar adlerjohn avatar facundomedica avatar gorgos avatar albertchon avatar dependabot[bot] avatar nhannamsiu avatar liamsi avatar rootulp avatar evan-forbes avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.