diff --git a/verifyMainnetDeployment/verifyMainnetProofVerifier.md b/verifyMainnetDeployment/verifyMainnetProofVerifier.md index 674e6b589..88ac28eff 100644 --- a/verifyMainnetDeployment/verifyMainnetProofVerifier.md +++ b/verifyMainnetDeployment/verifyMainnetProofVerifier.md @@ -1,4 +1,4 @@ -# Verify deployment on Mainnet the proof verifier smart contract (elderberry-fork.8) +# Verify deployment on Mainnet the proof verifier smart contract (elderberry2-fork.9) In order to verify the smart contract, you will need a machine with at least 256GB of RAM and 16 cores. @@ -82,7 +82,7 @@ this step takes less than 1 minute. cd ~ git clone https://github.com/0xPolygonHermez/zkevm-proverjs.git cd zkevm-proverjs -git checkout 1f228c110be466ec8b91d251713df4194ba49aeb +git checkout c4a2ce7617cb34b2c119742c2adbcd11ac435ec4 npm install tmux -c "npm run buildsetup --bctree=../zkevm-prover/build/bctree" ``` @@ -151,7 +151,7 @@ sha256sum contracts/verifiers/FflonkVerifier.sol The result should be: ``` -9bf2d96c589a64ba8ebde36f280993d1dc0ac3ca3cac1d09b5550055b8a523e8 +ad7faf985475359b115d73ba216e7f6feb9cb3181889e65f62e23904da40b33a ``` To compile smartcontract execute following command: @@ -167,28 +167,28 @@ npx hardhat compile Bytecode of smartcontract was on bytecode property of json file _FflonkVerifier_ generated on path _artifacts/contracts/verifiers/FflonkVerifier.sol/_ ``` -608060405234801561001057600080fd5b506159 -ee80620000216000396000f3fe60806040523480 -1561001057600080fd5b506004361061002b5760 -003560e01c80639121da8a14610030575b600080 -fd5b61004361003e366004615973565b61005756 -5b604051901515815260200160405180910390f3 -5b6000615901565b6040516104c0820151808252 -6020820191507f30644e72e131a029b85045b681 -81585d2833e84879b9709143e1f593f000000161 -04e0840151820990508082526020820191507f30 +608060405234801561000f575f80fd5b506159c7 +806200001e5f395ff3fe60806040523480156100 +0f575f80fd5b5060043610610029575f3560e01c +80639121da8a1461002d575b5f80fd5b61004061 +003b366004615950565b610054565b6040519015 +15815260200160405180910390f35b5f6158e056 +5b6040516104c08201518082526020820191507f +30644e72e131a029b85045b68181585d2833e848 +79b9709143e1f593f00000016104e08401518209 +90508082526020820191507f30644e72e131a029 : : -81612878565b61593a83826128b1565b61594381 -612911565b61594c81613e61565b615955816145 -59565b61595e816151f0565b615967816156ee56 -5b90508060005260206000f35b60008061032080 -848603121561598857600080fd5b610300840185 -81111561599a57600080fd5b8493508582860111 -156159ac57600080fd5b80925050509250929050 -56fea2646970667358221220065c100f41ce696b -303e853b86cdaa6a5ef43dec684aa118e566f3fa -613427c464736f6c63430008140033 +5b61590f8161286e565b61591983826128a7565b +61592281612906565b61592b81613e54565b6159 +3481614549565b61593d816151d0565b61594681 +6156ce565b9050805f5260205ff35b5f80610320 +808486031215615963575f80fd5b610300840185 +811115615974575f80fd5b849350858286011115 +615985575f80fd5b8092505050925092905056fe +a2646970667358221220f9204a6729ab3cfd7d00 +8e42e9e609c5982c2ce36f4db2fdd5da2d7ad03d +505064736f6c63430008140033 ``` @@ -202,29 +202,29 @@ cat ./artifacts/contracts/verifiers/FflonkVerifier.sol/FflonkVerifier.json | jq The result should be: ``` -27270e1846e7e8512ab9cc311a96a1425a03adda282b18d5beb521dfe09c3d22 +a830254dd0e50c7fb306d028c0fed5927027814c3151822d16f26e802615ecff ``` ## Download bytecode of deployed smartcontract -To download bytecode of deployed smartcontract, need the address of smart contract, in this case it's _0x4AaBBA26EA9E7A7fbD052d17a167e6aE3F8eC7Be_. +To download bytecode of deployed smartcontract, need the address of smart contract, in this case it's _0x0775e11309d75aA6b0967917fB0213C5673eDf81_. ### Download by copying data manually Go to Etherscan or Beaconcha to get transaction bytecode. -Associated with address _0x4AaBBA26EA9E7A7fbD052d17a167e6aE3F8eC7Be_ found the transacction _0x6cc2cbf18cefe30ec2b4776b525e187f06f88bb52fe94c1b0dd2629b199fd9c9_. +Associated with address _0x0775e11309d75aA6b0967917fB0213C5673eDf81_ found the transacction _0x99c654b2338dc6e9f438b82acd5eb8af2fa2d2fe69a387714f2b2fa935ee8dbe_. - ### Etherscan (https://etherscan.io) - https://etherscan.io/address/0x4AaBBA26EA9E7A7fbD052d17a167e6aE3F8eC7Be - https://etherscan.io/tx/0x6cc2cbf18cefe30ec2b4776b525e187f06f88bb52fe94c1b0dd2629b199fd9c9 + https://etherscan.io/address/0x0775e11309d75aA6b0967917fB0213C5673eDf81 + https://etherscan.io/tx/0x99c654b2338dc6e9f438b82acd5eb8af2fa2d2fe69a387714f2b2fa935ee8dbe - Click to see more > Input Data > Select all data and copy to clipboard. + Click to show more > Input Data > Select all data and copy to clipboard. - ### Beacocha (https://beaconcha.in) - https://beaconcha.in/address/0x4AaBBA26EA9E7A7fbD052d17a167e6aE3F8eC7Be - https://beaconcha.in/tx/0x6cc2cbf18cefe30ec2b4776b525e187f06f88bb52fe94c1b0dd2629b199fd9c9 + https://beaconcha.in/address/0x0775e11309d75aA6b0967917fB0213C5673eDf81 + https://beaconcha.in/tx/0x99c654b2338dc6e9f438b82acd5eb8af2fa2d2fe69a387714f2b2fa935ee8dbe Advanced Info > Call Data > Select all data and copy to clipboard. @@ -241,6 +241,8 @@ In nano, to paste the clipboard to the file use CTRL+P, save content using CTRL+ ### Download through L1 endpoint call +Alternatively, to the previous step, you could download the bytecode through L1 endpoint call + ```bash cd ~/contract L1_ENDPOINT= @@ -266,8 +268,8 @@ sha256sum FflonkVerifier.sol.*.bytecode The result should be: ``` -27270e1846e7e8512ab9cc311a96a1425a03adda282b18d5beb521dfe09c3d22 FflonkVerifier.sol.compiled.bytecode -27270e1846e7e8512ab9cc311a96a1425a03adda282b18d5beb521dfe09c3d22 FflonkVerifier.sol.explorer.bytecode +a830254dd0e50c7fb306d028c0fed5927027814c3151822d16f26e802615ecff FflonkVerifier.sol.compiled.bytecode +a830254dd0e50c7fb306d028c0fed5927027814c3151822d16f26e802615ecff FflonkVerifier.sol.explorer.bytecode ``` ## Generated files hash @@ -282,96 +284,96 @@ The result should be: buildstoragerom storage_sm_rom.json676c3f58263fc284bc53ef949dd1acedcfb090f3287ee080b2a277ed2157894a buildconstants -zkevm.constca00d4c994f4793c14b19a9a26f17f170165b9177ada598f94a416604a6ec0b8 +zkevm.constca154acee3bf9b31bc5a66d919af95536397cb49c5785c8c77cc4e814097a1d7 buildstarkinfo zkevm.starkstruct.json284b6ce275c637af4a0b4b10cd83a881c6f1b21e21ad7ea2276379ed8393b099 zkevm.starkinfo.jsoncd4615be096817d14b3b19780897ad39f5cd26f83e5d17518dae7688563fcb54 buildconstanttree -zkevm.verkey.json466b663f730c032b235e7c9ac57d4492bdeea51af8b62bc204ef20700de88c6d -zkevm.consttreeca00d4c994f4793c14b19a9a26f17f170165b9177ada598f94a416604a6ec0b8 +zkevm.verkey.json5092fbb5581804e283ee328723f106ba3076c0df26feb1937759731e23870475 +zkevm.consttreeca154acee3bf9b31bc5a66d919af95536397cb49c5785c8c77cc4e814097a1d7 gencircom -zkevm.verifier.circom4a9abd5c5d31f3675cac455fb4e8e06a1f524d86e4e6e18f32f0090f017c9f6d +zkevm.verifier.circom8475ff87bc8ad6361123045d034a481a2c57935fb4a8990957458f4ace6109a2 compilecircom -zkevm.verifier.r1cs3ed36eec0462885d480e6e3023f91e0265aad8c5556aa33d6c7b34e866e59605 -zkevm.verifier.sym57803c3774b227440b0cae55bace553a198ec675d8bdae72b37bbc2a59b7d9c9 +zkevm.verifier.r1cs653122109db0086d44b339f7ddadfc64aabe851c9c29af9fc4d4e2dc8bb00b61 +zkevm.verifier.syma84d5a34944a745428c4ed8708b7c654169a2ffd00e1eccd7044a25bd2194edf c12a_setup c12a.pil13b74f6e33dcbfcb9aa1a5eb7a93691635f51f33aa91e7c867dec11509c93f4d -c12a.const96b15b147af5ffcf08f2692d6bcbc149ca46521f80a2d5476da017c78c673cb7 +c12a.consteda18ab4398133691e0daecd1525d51435e8907dc0cde5777ec96def34b2781f c12a.exec6fe8e529645f1b72de3851ecd50dde6b830846c4cd3af0b83267151b11ec45e1 c12a_buildstarkinfo c12a.starkstruct.jsonc8ceea75f0aa05fdbdb20ac41b224355fde07a0dbeecd6649ff8c2636b9a759c c12a.starkinfo.jsonc05b27f4538e8071a0e8045faeb8a6de8771053587ad657b07c9401b9597a663 c12a_buildconstanttree -c12a.verkey.json20f9ed1d602fe5155c0c93f342fda579987cd85b9011fd8658a427ffd09e7468 -c12a.consttree96b15b147af5ffcf08f2692d6bcbc149ca46521f80a2d5476da017c78c673cb7 +c12a.verkey.jsonc11451e126f7a5f1602a5b6721aee1cef819a2760db2aec20711235404fbcbcc +c12a.consttreeeda18ab4398133691e0daecd1525d51435e8907dc0cde5777ec96def34b2781f c12a_gencircom -c12a.verifier.circom63c0537db15875dd0e61696c5b97344424f1a1dffaa201ae04bded78feb5bb0e +c12a.verifier.circomff7afa36dd7dcbe6bf882309397294b1ca092890231591bd9d9439cbc60b178e recursive1_gencircom recursive1.circom83543e99e0a1f660761fa8a06310dfd9b69d0c0a358a73b6baec55d9587234e5 recursive1_compile -recursive1.r1cs9ef158594515431ac644c0b79cc9b3ca441754ea98529e1ae2db176ccced110a -recursive1.symf2db344f3289e513fc8a9cacc68b697a39a410fae834bdc8feabee7b394cabc0 +recursive1.r1csf44f949f14ca5fa15bcf916d68b5ba3933c869a816bf3d646adebec42a3f3b97 +recursive1.sym646bc2e3ca5da30c1221039c1e37af2ed46a2f8f7023d65a41cb80c7de5882a9 recursive1_setup recursive1.pil94ea2856942dd0745e2d6443c6988a4fdc65ac2c3173633e897e02b6d7eaad8b -recursive1.constf81f9d99dc7be4ec8ce515a0d58958e10d09aaefabd778164fc4f076bbf273d0 +recursive1.const5365a7fd04c220a042364dadea615876512b016dfb305a1a04cd3e5c85b87a65 recursive1.exec359e6e221cefd35827960ff5cf9cd506ba5e2a5ec92c33312a5903ce087aa155 recursive1_buildstarkinfo recursive.starkstruct.json8bc8b44a7e493e447af7c04d1a362c2198f3e9b29e425248b7646c36b67fd02c recursive1.starkinfo.jsonab63b4008c2b2e769519ff3df4ba6130d66b8d6778c0ba0fb7724d5a4a9e2841 recursive1_buildconstanttree -recursive1.verkey.json883d526a0a9027641307a56f3cf94bbd3072d98413273f424c5026951277aec6 -recursive1.consttreef81f9d99dc7be4ec8ce515a0d58958e10d09aaefabd778164fc4f076bbf273d0 +recursive1.verkey.json2a89c0b3c99b53adc9ced07fbe1c548c4bb78148d0fef03b150f6babc5e7024c +recursive1.consttree5365a7fd04c220a042364dadea615876512b016dfb305a1a04cd3e5c85b87a65 recursive1_verifier_gencircom recursive1.verifier.circom835cf0a8c4706ced7395957a8bef1e00b70d1007586c9fccf107f12b4936dea5 recursive2_gencircom -recursive2.circomc936419331d9d07aacdc912002d30bce42baa2c05a956b51d12580c82276803a +recursive2.circom41faac208dc92e088fe3277e2c19449db9ebb591de79213168f2ee4e26497bd8 recursive2_compile -recursive2.r1csb2c0f5fb9ccda0474e246cdeca3e34fc5907cd5b34f15f2192b163fb53062376 +recursive2.r1cs47c79fa4c0a239c7d5066bc16c32aa5490fec00b0c4890b7f6318aca12713b47 recursive2.syma47d475bcb09309b2100bfc19ce4c4baa9cee2699373290569617d71fcf51a64 recursive2_setup recursive2.pil94ea2856942dd0745e2d6443c6988a4fdc65ac2c3173633e897e02b6d7eaad8b -recursive2.const381fcf6ad4237bdbf878473f854053849a7decfbaab6c846624c41d3000ef5b8 +recursive2.consta41baa8a704ee3b2671527cc40b577f8379d5aa3e4b0ef15639af94a8a5fc424 recursive2.execf32201da15042d9167dc8dd6707c2920d7d2e772d411566739ac874bdbf269fb recursive2_buildstarkinfo recursive2.starkinfo.jsonab63b4008c2b2e769519ff3df4ba6130d66b8d6778c0ba0fb7724d5a4a9e2841 recursive2_buildconstanttree -recursive2.verkey.jsona2477ca847f493163113860a42ecede027bc67b4935e5ab30f2e825009363a47 -recursive2.consttree381fcf6ad4237bdbf878473f854053849a7decfbaab6c846624c41d3000ef5b8 +recursive2.verkey.jsonefba78426040b2b2b11fa96bf6aa27068d47abe0b38a8239454a62e707efdf69 +recursive2.consttreea41baa8a704ee3b2671527cc40b577f8379d5aa3e4b0ef15639af94a8a5fc424 recursive2_verifier_gencircom recursive2.verifier.circom835cf0a8c4706ced7395957a8bef1e00b70d1007586c9fccf107f12b4936dea5 recursivef_gencircom -recursivef.circom68ba6079a221f4cfe3afd071e8df62c38309f34d0633f5574cf76750d8fe2066 +recursivef.circom3f1ce1916c04a44dea912c7ea3f9597d7d75c0a3f301efe6ca54ba7ef41f115f recursivef_compile -recursivef.r1csf45f7a9caa97913263f81ba31630dd615403f9fe3d72478a270b65b1be8a468e +recursivef.r1cse05cb8080a6b439701f06ea11884ef3bfdefebd74bb714434315adf5ee1514f6 recursivef.symfcbe9cd852065f1224a82f8b595d2c7aaa9fdbc616ef9048714105d69d988cd7 recursivef_setup recursivef.pil62527bfc12f535e8fa3a6dd7055bc595b27fc491f7203987108ee3d13283dbfe -recursivef.consta74d6e18aab5a524c0e1ea87001cdd88cb20fcf8a957e831d28b58b116cb358d +recursivef.constfe0ca03b16fb7d284f6b03b88f0e99a666f5006db69b8e51ea723d07bb9b554b recursivef.exec1751c8a070d68cc64aa7d932a1785330da24139e547805e583f5407c5600715e recursivef_buildstarkinfo recursivef.starkstruct.jsonba99ad986178db98b1a867bb9d8592fa6ba5c29d9233fd939d01424425ce6cba recursivef.starkinfo.json8d6e9503550ad8bdde303af5b37ad0320171d4f180fc11323b58fbf8d82bb1a6 recursivef_buildconstanttree -recursivef.verkey.jsonf41c6973c1a71970af291da4177f11f1b7accda7654c63169c607efeef5981e6 -recursivef.consttreea74d6e18aab5a524c0e1ea87001cdd88cb20fcf8a957e831d28b58b116cb358d +recursivef.verkey.jsone391e7f55efac7d781bf03a2666e4cf3c5336e548a1acfa89fa295a1d9b408fe +recursivef.consttreefe0ca03b16fb7d284f6b03b88f0e99a666f5006db69b8e51ea723d07bb9b554b recursivef_verifier_gencircom -recursivef.verifier.circom3607ed5c1ec397aaa35a09122128d57896b0b9ae648a273721f23c82f69eca30 +recursivef.verifier.circom64dd7df291518a73d0c71a1ca329e1f05bf3f25a97f2b9b905a8cdd495cb9ed6 final_gencircom final.circom74a06304ce73b282a520c358baead152dad790b0aa6b7031f6ba8c00166be459 final_compile -final.r1cs8980408e97bd37a12dcb3cca90309421a25b17d899a9021a7eb55d86c46b4eb5 -final.sym9c20071021039f3f82b3ecb471402949cbbc290812da97f47aae4b13ad73342d +final.r1cs014d04d4dc123f9f0e625ac6819b41a5ed2baf83d712d00bad326b5763d0b77a +final.syme9cae6fc94d002475857b90b4cea238e60c4ea4492e435ebb9aa91e5e055775b fflonk_setup -final.fflonk.zkey95f221bb359705463b02c43e7c7fc3928676dfc4e2a788504d2009a598f144ee +final.fflonk.zkeyfdc2c9e25735144653663f29806e711e811b4c7135785d01c5e10f13e3c4cbcc fflonk_evk -final.fflonk.verkey.json65fe92de992fa6a8e43760dd4c7629d700dd9cb4ef8c4210581b6e277fec104a -dependencies.txt1201d73ded9420e99e434147a91f82200781bb6b6348dfca6439f315b9612672 +final.fflonk.verkey.json23f1f4593ab0bb77a7aeb5ad30c5bddbc4b29a696e2e4b961500d9260e4d04b5 +dependencies.txtd2ecb931d898a37e596b2b4716ca22f875fae3de913d03bf0106ef2ea10eecd8 fflonk_solidity -final.fflonk.verifier.sol9bf2d96c589a64ba8ebde36f280993d1dc0ac3ca3cac1d09b5550055b8a523e8 +final.fflonk.verifier.solad7faf985475359b115d73ba216e7f6feb9cb3181889e65f62e23904da40b33a \ No newline at end of file