Installation
From Source
Section titled “From Source”Achronyme is written in Rust. You need a recent Rust toolchain (1.77+).
git clone https://github.com/eddndev/achronyme.gitcd achronymecargo build --releaseThe binary is at target/release/ach.
Verify the build
Section titled “Verify the build”cargo test --workspace # 718 unit testsbash test/run_tests.sh # 54 integration testsOptional: snarkjs Integration
Section titled “Optional: snarkjs Integration”For full Groth16 proof generation with ach circuit, install snarkjs:
npm install -g snarkjsAchronyme can generate .r1cs and .wtns files directly consumable by snarkjs:
snarkjs groth16 setup circuit.r1cs pot12_final.ptau circuit.zkeysnarkjs groth16 prove circuit.zkey witness.wtns proof.json public.jsonsnarkjs groth16 verify verification_key.json public.json proof.jsonOptional: Native Proof Generation
Section titled “Optional: Native Proof Generation”Achronyme includes native Groth16 (ark-groth16) and PlonK (halo2-KZG) backends. No external tools needed for prove {} blocks — proofs are generated in-process.
For prove {} blocks with Groth16 via snarkjs, you need a Powers of Tau file:
ach run script.ach --ptau pot12_final.ptauWithout --ptau, prove blocks still compile the circuit, generate the witness, and verify constraints locally (returning nil instead of a proof object).