First iteration sha256

This commit is contained in:
Jordi Baylina
2018-09-12 11:02:50 +02:00
parent c8d80533bc
commit 2f1e74dd38
16 changed files with 2658 additions and 128 deletions

View File

@@ -1,6 +1,7 @@
const chai = require("chai");
const path = require("path");
const zkSnark = require("zksnark");
const crypto = require("crypto");
const compiler = require("../index.js");
@@ -31,6 +32,23 @@ describe("SHA256 test", () => {
assert(witness[0].equals(zkSnark.bigInt(1)));
assert(witness[1].equals(zkSnark.bigInt("333")));
});
it("Should calculate a hash", async () => {
const cirDef = await compiler(path.join(__dirname, "circuits", "sha256_2_test.circom"));
const circuit = new zkSnark.Circuit(cirDef);
const witness = circuit.calculateWitness({ "a": "1", "b": "2" });
const b = new Buffer.alloc(432);
b[115] = 1;
b[431] = 2;
const hash = crypto.createHash("sha256")
.update(b)
.digest("hex");
const r = "0x" + hash.slice(40);
assert(witness[1].equals(zkSnark.bigInt(r)));
});
});