plumo-verifier
v0.1.6
Published
Plumo verifier
Downloads
1
Maintainers
Readme
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.