Expand description
§Colibri Stateless – Rust bindings
Rust bindings for Colibri Stateless, a high-performance stateless prover / verifier for Ethereum and OP-Stack chains.
The main entry point is Colibri. Configure it via
Colibri::builder and call Colibri::rpc to execute a
cryptographically verified RPC call:
use colibri_stateless::{Colibri, MAINNET};
use serde_json::json;
let client = Colibri::builder(MAINNET).build();
let balance = client
.rpc("eth_getBalance", &json!(["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "latest"]))
.await?;
println!("balance: {balance}");Lower-level building blocks are also exposed:
Prover/Verifier/RpcCtxwrap the corresponding C contexts and let you drive the state machine yourself.get_method_supportclassifies an RPC method (proofable, local, …).StorageplusFileStorage/MemoryStoragepersist the sync-committee state used by the verifier.
For running the shared integration tests against test/data, see
the testing module (enabled by default in cargo test).
Re-exports§
pub use core::get_current_version_number;pub use core::get_method_support;pub use core::get_method_type;pub use core::req_set_error;pub use core::req_set_response;pub use core::Colibri;pub use core::ColibriBuilder;pub use core::ColibriConfig;pub use core::Prover;pub use core::RequestHandler;pub use core::RpcCtx;pub use core::Verifier;pub use storage::default_storage;pub use storage::register_storage;pub use storage::register_storage_at;pub use storage::DefaultStorage;pub use storage::FileStorage;pub use storage::MemoryStorage;pub use storage::Storage;pub use types::default_beacon_apis;pub use types::default_checkpointz;pub use types::default_eth_rpcs;pub use types::default_provers;pub use types::ColibriError;pub use types::DataRequest;pub use types::Encoding;pub use types::HttpError;pub use types::HttpMethod;pub use types::MethodType;pub use types::PrivacyMode;pub use types::ProofError;pub use types::ProverMode;pub use types::RequestType;pub use types::RevertError;pub use types::RpcError;pub use types::Status;pub use types::StorageError;pub use types::VerificationError;pub use types::CHIADO;pub use types::GNOSIS;pub use types::MAINNET;pub use types::SEPOLIA;