UNPKG

@axiom-crypto/halo2-wasm-cli

Version:

Halo2 Javascript library

20 lines (19 loc) 808 B
import { CircuitScaffold } from "./scaffold"; import { getFunctionFromTs, getRunCircuitFromTs, saveBufferToFile } from "./utils"; export const keygen = async (path: string, options: { pk: string, vk: string, circuit: string }) => { const circuit = await getFunctionFromTs(path); let scaffold = new CircuitScaffold(true); scaffold.runCircuit = await getRunCircuitFromTs(options.circuit); scaffold.newCircuitFromConfig(circuit.config); try { await scaffold.populateCircuit(circuit.circuit, circuit.inputs); await scaffold.keygen(); const vk = scaffold.exportVkBuffer(); saveBufferToFile(vk, options.vk, "VK") const pk = scaffold.exportPkBuffer(); saveBufferToFile(pk, options.pk, "PK") } catch (e) { console.error(e); } }