# List of PLONK implementations
## Written for running in production
* [kimchi](https://github.com/o1-labs/proof-systems) (rust)
* [zk-garage/ark-plonk](https://github.com/ZK-Garage/plonk) (rust)
* [dusk network plonk](https://github.com/dusk-network/plonk) (rust)
* [astar](https://github.com/AstarNetwork/plonk) (rust)
* [aztec network barretenberg](https://github.com/AztecProtocol/barretenberg/tree/master/barretenberg/src/aztec/plonk) (C++)
* [matterlabs based on bellman](https://github.com/matter-labs/bellman/tree/plonk_release/src/plonk) (rust)
* [jellyfish](https://github.com/EspressoSystems/jellyfish) (rust)
* [halo2 (zcash)](https://github.com/zcash/halo2) (rust)
* [halo2 fork with KZG for the zkevm (from EF-PSE)](https://github.com/appliedzkp/halo2) (rust)
* [plonky2](https://github.com/mir-protocol/plonky2) (rust)
* [gnark](https://github.com/ConsenSys/gnark/blob/a6369bf2b713b7829658f36e6283fe63bdaba974/backend/plonk/plonk.go) (golang)
## Ethereum/Solidity verifiers
* [espresso](https://github.com/EspressoSystems/cape/tree/main/contracts/contracts/verifier)
* [matterlabs](https://github.com/matter-labs/solidity_plonk_verifier)
## Written as toy implementations
* https://github.com/ETHorHIL/Plonk_Py (python)
* [ty plonk](https://github.com/Strytyp/TyPLONK) (rust)