/ 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  });