const {unstringifyBigInts} = require("./stringifybigint.js"); const buildPKey = require("./buildpkey.js"); const fs = require("fs"); const version = require("../package").version; const argv = require("yargs") .version(version) .usage(`node buildpkey.js -i "proving_key.json" -o "proving_key.bin" Default: circuit.json `) .alias("i", "input") .alias("o", "output") .help("h") .alias("h", "help") .epilogue(`Copyright (C) 2018 0kims association This program comes with ABSOLUTELY NO WARRANTY; This is free software, and you are welcome to redistribute it under certain conditions; see the COPYING file in the official repo directory at https://github.com/iden3/circom `) .argv; const inputName = (argv.input) ? argv.input : "proving_key.json"; const outputName = (argv.output) ? argv.output : "proving_key.bin"; const provingKey = unstringifyBigInts(JSON.parse(fs.readFileSync(inputName, "utf8"))); const bin = buildPKey(provingKey); var wstream = fs.createWriteStream(outputName); wstream.write(bin); wstream.end();