Skip to content

risc0/blobstream0

Repository files navigation

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!

About

No description, website, or topics provided.

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
license-check.py

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published