/ test-vectors / calculatewitness.js
calculatewitness.js
1 #!/usr/bin/env node 2 3 const fs = require("fs"); 4 const {stringifyBigInts, unstringifyBigInts} = require("snarkjs"); 5 const WitnessCalculatorBuilder = require("./witness_calculator.js"); 6 7 // const wasmName = "smtverifier10.wasm" 8 // const inputName = "smtverifier10-input.json" 9 10 const wasmName = "nconstraints.wasm" 11 const inputName = "nconstraints-input.json" 12 13 async function run () { 14 const wasm = await fs.promises.readFile(wasmName); 15 const input = unstringifyBigInts(JSON.parse(await fs.promises.readFile(inputName, "utf8"))); 16 17 console.log("input:", input); 18 let options; 19 const wc = await WitnessCalculatorBuilder(wasm, options); 20 21 const w = await wc.calculateWitness(input); 22 23 console.log("witness:\n", JSON.stringify(stringifyBigInts(w))); 24 25 // const wb = await wc.calculateBinWitness(input); 26 27 // console.log("witnessBin:", Buffer.from(wb).toString('hex')); 28 29 // await fs.promises.writeFile(witnessName, JSON.stringify(stringifyBigInts(w), null, 1)); 30 31 } 32 33 run().then(() => { 34 process.exit(); 35 });