plumo-verifier

0.1.6 • Public • Published

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.

Package Sidebar

Install

npm i plumo-verifier

Homepage

celo.org

Weekly Downloads

7

Version

0.1.6

License

MIT

Unpacked Size

609 kB

Total Files

10

Last publish

Collaborators

  • kobigurk