Skip to content

celo-org/plumo-verifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

plumo-verifier

Node.js module for verifying Plumo proofs and reading states based on it.

Plumo is a SNARK-based light client verifier for the Celo blockchain. Plumo proves the evolution of the validator set through the election process on epoch blocks, which happen once a day. Creating Plumo proofs is possible since the Donut hardfork, in which CIP-22 was activated, enablding Plumo proofs since epoch 393.

Using Plumo, one can verify the validity of block headers, and as a consequence read verified data from state or transaction roots, such as balances or NFT ownership details.

A two phase Groth16 setup has been performed for Plumo, resulting in a proving and verification keys.

A persistent prover is operated by us and is serving proofs, created after each epoch change. See the example code on how to fetch proofs, verify them and obtain your verified token balance.

Example

node --experimental-wasm-modules examples/check_balance.js

Tasks to pick up

  • Optimize multiple epoch proofs through receiving just "glue" hashes instead of the entire validator sets.
  • Batch verification of Groth16 signatures.
  • Support more kinds of queries - e.g. NFT ownership.

About

Node.js module for verifying Plumo proofs and reading states based on it

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published