@axiom-crypto/halo2-wasm-cli
Version:
Halo2 Javascript library
20 lines (19 loc) • 808 B
text/typescript
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);
}
}