Installation
How to install and build Achronyme.
Quick Install
Install the latest published core release with a single command:
curl -fsSL https://achrony.me/install.sh | sh
This installs ach to ~/.local/bin. On Linux, the verified release bundle
also installs the native AOT runtime to ~/.local/lib. The installer supports
Linux and macOS on x86_64 and aarch64.
The currently published stable version is 0.1.2. Pin it explicitly when
reproducibility matters:
curl -fsSL https://achrony.me/install.sh | sh -s -- --version 0.1.2
Verify the installation:
ach --version
On Linux, ach run uses LLVM 21 when it is available. If LLVM is missing, the
CLI reports the fallback and runs the interpreter. Native compilation with
ach aot requires Clang 21 and LLVM 21; the installer already provides the
Achronyme AOT runtime library.
Build 0.1.2 from source
Achronyme is written in Rust. The release toolchain is Rust 1.96.0. Use the exact published revision when reproducing 0.1.2 behavior:
git clone https://github.com/achronyme/achronyme.git
cd achronyme
git checkout cd7a6e66e133bebd8e2026e321a4c85023c311f7
cargo build --release
target/release/ach --version
The binary is at target/release/ach.
Verify the build
cargo test --workspace
bash test/run_tests.sh
Optional: snarkjs Compatibility
Achronyme includes native Groth16 (ark-groth16) and PlonK (halo2-KZG)
backends. In 0.1.2, proof generation fails unless you choose
--insecure-dev-setup or --trusted-key-dir. External tools are not required
for normal execution, but snarkjs remains part of the production ceremony and
interoperability audit.
The output .r1cs and .wtns files are also compatible with snarkjs for external workflows:
snarkjs groth16 setup circuit.r1cs pot12_final.ptau circuit.zkey
snarkjs groth16 prove circuit.zkey witness.wtns proof.json public.json
snarkjs groth16 verify verification_key.json public.json proof.json