colibri_stateless 0.1.1 copy "colibri_stateless: ^0.1.1" to clipboard
colibri_stateless: ^0.1.1 copied to clipboard

Dart bindings for Colibri Stateless via FFI (proof generation and verification for Ethereum RPC).

example/README.md

Dart Examples #

This folder contains runnable Dart examples for the Colibri bindings.

Prerequisites #

  1. Build the native library:
cd bindings/dart
./build.sh
  1. Install Dart dependencies:
dart pub get

Examples #

1) Basic usage #

basic_usage.dart shows a minimal verified RPC call:

dart run example/basic_usage.dart

2) Manual proof + verify #

proof_verify.dart shows how to create a proof locally and verify it:

dart run example/proof_verify.dart

3) Custom storage #

custom_storage.dart registers a storage backend for native caching:

dart run example/custom_storage.dart

4) Unproofable RPC #

unproofable_rpc.dart calls a method that is fetched directly from RPC:

dart run example/unproofable_rpc.dart

5) Read a block #

read_block.dart reads a block by number and prints key fields:

dart run example/read_block.dart

6) Transaction receipt #

transaction_receipt.dart fetches and prints a receipt:

dart run example/transaction_receipt.dart

7) Read logs #

read_logs.dart fetches logs using a filter:

dart run example/read_logs.dart

8) Contract call #

contract_call.dart performs a read-only eth_call:

dart run example/contract_call.dart

Native library path #

By default, the examples load the library from bindings/dart/native:

  • macOS: native/libcolibri.dylib
  • Linux: native/libcolibri.so
  • Windows: native/colibri.dll

To override the path, set the environment variable:

export COLIBRI_DART_LIBRARY=/full/path/to/libcolibri.(dylib|so|dll)

Optional .env configuration #

Examples can load settings from bindings/dart/.env:

cp .env.example .env

Supported keys:

  • COLIBRI_DART_LIBRARY (native library path)
  • COLIBRI_PROVER / COLIBRI_PROVERS (prover service URLs)
  • COLIBRI_ETH_RPC / COLIBRI_ETH_RPCS (Ethereum RPC URLs)
  • COLIBRI_ZK_PROOF (set true to request ZK sync proofs from the prover)
  • COLIBRI_CHECKPOINT_WITNESS_KEYS (hex concatenated signer addresses for ZK proofs)
  • COLIBRI_DEBUG_ZK (set true to log prover request details)

Run examples with ZK proofs #

To force ZK sync proofs for the examples, set:

export COLIBRI_ZK_PROOF=true
export COLIBRI_PROVER=https://mainnet.colibri-proof.tech
export COLIBRI_CHECKPOINT_WITNESS_KEYS=0x07f50c1d17cb84a656692ddfd577c09756cb305b

Then run any example:

dart run example/basic_usage.dart
1
likes
0
points
164
downloads

Publisher

unverified uploader

Weekly Downloads

Dart bindings for Colibri Stateless via FFI (proof generation and verification for Ethereum RPC).

Homepage
Repository (GitHub)
View/report issues

Documentation

Documentation

License

unknown (license)

Dependencies

ffi, http

More

Packages that depend on colibri_stateless