When compiling the same circuit using both the groth16 and plonk protocols, compilation will stall after finishing the first circuit, regardless of order. If I comment out either circuit, compilation finishes successfully, but this requires two separate runs of npx hardhat circom. I am using node.js v16.6.1, running on a mac mini M1 with macOS Ventura 13.0.1. I am using the example Multiplier2 template from the circom tutorial.
Here is my package.json file:
{
"name": "circom-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"circomlib": "^2.0.5",
"hardhat-circom": "^3.3.2"
},
"devDependencies": {
"@nomicfoundation/hardhat-toolbox": "^2.0.0",
"hardhat": "^2.12.5"
}
}
Here is my hardhat.config.ts file:
import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
import 'hardhat-circom';
const config: HardhatUserConfig = {
solidity: {
compilers: [
{
version: '0.6.11',
},
{
version: '0.8.17',
},
],
},
circom: {
inputBasePath: './circuits',
outputBasePath: './circuits/build',
ptau: 'powersOfTau28_hez_final_18.ptau',
circuits: [
{
name: 'multiplier2',
circuit: 'multiplier2.circom',
input: 'input/multiplier2.json',
},
{
name: 'multiplier2_plonk',
circuit: 'multiplier2.circom',
input: 'input/multiplier2.json',
protocol: 'plonk',
},
]
}
};
export default config;
Here is my circuits/multiplier2.circom file:
pragma circom 2.0.0;
/*This circuit template checks that c is the multiplication of a and b.*/
template Multiplier2 () {
// Declaration of signals.
signal input a;
signal input b;
signal output c;
// Constraints.
c <== a * b;
}
Here is my circuits/input/multiplier2.json file:
When compiling the same circuit using both the
groth16andplonkprotocols, compilation will stall after finishing the first circuit, regardless of order. If I comment out either circuit, compilation finishes successfully, but this requires two separate runs ofnpx hardhat circom. I am using node.js v16.6.1, running on a mac mini M1 with macOS Ventura 13.0.1. I am using the exampleMultiplier2template from the circom tutorial.Here is my
package.jsonfile:{ "name": "circom-test", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "circomlib": "^2.0.5", "hardhat-circom": "^3.3.2" }, "devDependencies": { "@nomicfoundation/hardhat-toolbox": "^2.0.0", "hardhat": "^2.12.5" } }Here is my
hardhat.config.tsfile:Here is my
circuits/multiplier2.circomfile:Here is my
circuits/input/multiplier2.jsonfile:{ "a": "3", "b": "11" }