Skip to content

Latest commit

 

History

History
42 lines (26 loc) · 1.93 KB

README.md

File metadata and controls

42 lines (26 loc) · 1.93 KB

Blobstream Zero

WARNING: This project is currently experimental and not recommended for any production use cases yet

Blobstream Zero is an implementation of Blobstream using the RISC Zero zkVM to verify Celestia blocks.

The blocks are verified using a zk Tendermint light client with the light-client-guest program, which will verify the light client block transition as well as generating a merkle root of all intermediate blocks. This proof is then verified on Ethereum using the Blobstream solidity contracts.

The ABI for the Blobstream Zero solidity contract as well as the merkle tree format for the batch proof is currently matching previous implementations to maintain as much compatibility with previous solutions as well as the existing APIs to request Blobstream inclusion proofs.

Usage

Clone this repository, then pull submodules:

git submodule update --init --recursive

Ensure Rust, Foundry, and the RISC Zero toolchain are installed.

Build guest programs and update autogenerated files:

# Could also run `cargo build`
cargo check

Optionally run tests, which includes an end to end test:

cargo test

Run the CLI to generate proofs or post those proofs on an Eth based network:

cargo run -p blobstream0 -- --help

For docs on running the Blobstream service, see usage-guide.md.

Note: This CLI as well as other APIs will change in the short term. If you need anything specific from this, open an issue!