[Deployment] BLS signature verification on ZkSync Era #167
-
EnvironmentTestnet zkSolc Version0.4.2 zksync-web3 Version0.14.3 Hardhat.config.tsimport { HardhatUserConfig } from "hardhat/config"; import "@matterlabs/hardhat-zksync-deploy"; import "@matterlabs/hardhat-zksync-verify"; // dynamically changes endpoints for local tests const config: HardhatUserConfig = { export default config; Deployment Script (WITHOUT PRIVATE KEY)import { Provider, Wallet } from "zksync-web3"; // load env file // load contract artifact. Make sure to compile first! const PRIVATE_KEY = process.env.WALLET_PRIVATE_KEY || ""; if (!PRIVATE_KEY) // Address of the contract on zksync testnet if (!CONTRACT_ADDRESS) throw "⛔️ Contract address not provided"; // An example of a deploy script that will deploy and call a simple contract.
Contract Code// SPDX-License-Identifier: MIT import "./BLS.sol"; contract Verify {
// require(callSuccess, "Incorrect Publickey or Signature Points"); Does this work on other EVMs? (If yes, please list at least 1 of them)Yes, Ethereum , Polygon, Arbitrum, Mantle Description of What Your Contract DoesVerifies the BLS signature using the 0x8 BLS precompile Repo Link (Optional)No response Additional DetailsNo response |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 3 replies
-
Hi @harsh-supra , the reason it doesn't work is that you probably use a precompiled contract alt_bn128 which is not yet supported on zkSync Era. Some of the precompiles will be released in a coming weeks, the alt_bn128 in a coming months. |
Beta Was this translation helpful? Give feedback.
-
Hi @Romsters Do zKSyn Era started supporting alt_bn128? |
Beta Was this translation helpful? Give feedback.
Hi @harsh-supra , the reason it doesn't work is that you probably use a precompiled contract alt_bn128 which is not yet supported on zkSync Era. Some of the precompiles will be released in a coming weeks, the alt_bn128 in a coming months.