ZKM is a general verifiable computing infrastructure based on Plonky2 and the MIPS microarchitecture, empowering Ethereum as the Global Settlement Layer. The proof generation and verification guide can be found in the docs.
ZKM can generate proofs for Go and Rust (guest) Programs.
There are two ways to prove the program:
Instructions Per Segment | RAM |
---|---|
32768 | 13G |
65536 | 19G |
262144 | 27G |
Please note that in order to run an ZKM Prover that is competitive, the machine will need more than these requirements.
An end-to-end example has been presented in examples.
[!NOTE] The proving network is demo at present. The production version is coming soon.
Requirements
- CA certificate: ca.pem, ca.key
- Register in the https://www.zkm.io/apply (Let your public key be in the whitelist)
- Set up a local node for some blockchain(eg, sepolia)
2.2.1 Network Proving Guide
An end-to-end example has been presented in examples.
3. ZKM Project Template
A project template to facilitate creating an end-to-end ZKM project which can generate the EVM-Compatible proof and the on chain verification contract. ZKM Project Template
4. FAQs
1. My node is unable to compile.
- Ensure your machine has
Rust v1.66+
installed. Instructions to install Rust can be found here.- If large errors appear during compilation, try running
cargo clean
.- Ensure
zkMIPS
is started using./run-client.sh
or./run-prover.sh
.5. Contributors
This project follows the all-contributors specification. Any kind of external contributions are encouraged and welcomed!
In the PR description, please clearly but briefly describe
To help filter out false positives, the PR description for a performance improvement must clearly identify
The ZKM is distributed under the terms of MIT license.
This code has not yet been audited, and should not be used in any production systems.