Skip to main content
Version: 0.3

Architectures

Platform Support​

Different platforms use different architectures. This section will guide you in selecting the appropriate architecture for your target platform.

iOS​

Current support targetDescriptionExamples
aarch64-apple-ios64-bit iOS devices (iPhone/iPad)iPhone 11+, iPad Pro
aarch64-apple-ios-simARM64 iOS simulator on Apple Silicon MacsSimulator on M1/M2 Mac
x86_64-apple-iosx86_64 iOS simulator on Intel MacsSimulator on Intel Mac

Android​

Current support targetDescriptionExamples
x86_64-linux-android64-bit Android emulators (x86_64 architecture)Emulator on x86_64 host
i686-linux-android32-bit Android emulators (x86 architecture, legacy)Legacy Android Emulator
armv7-linux-androideabi32-bit ARM devices (older Android smartphones/tablets)Nexus 7, Galaxy S5
aarch64-linux-androids64-bit ARM devices (modern Android smartphones/tablets)Pixel 6, Galaxy S22

Web (WASM)​

Current support targetDescriptionExamples
wasm32-unknown-unknownBare WebAssembly targetBrowser apps

Proving Systems Currently Supported​

Current support targetCircom
(rust-witness
arkworks)
Circom
(witnesscalc
rapidsnark)
Halo2
(Plonkish)
Noir
(barretenberg)
aarch64-apple-ios✅✅✅✅
aarch64-apple-ios-sim✅✅✅✅
x86_64-apple-ios✅✅✅✅
x86_64-linux-android✅✅✅✅
i686-linux-android✅❌✅❌
armv7-linux-androideabi✅❌✅❌
aarch64-linux-androids✅✅✅✅
wasm32-unknown-unknown rust-witness ❌ / ark-works ✅❌✅❌1

Footnotes​

  1. The current Mopro stack doesn't support compiling Barretenberg directly to WebAssembly. However, you can still use @aztec/bb.js to generate proofs in the browser. Similar to the Circom prover, you can use snarkjs to generate a witness directly in the browser. ↩