ZKsync Era Hardhat plugin that is a wrapper around zksync-ethers sdk that gives additional methods to use for faster development.
To install hardhat-zksync-ethers plugin, run:
npm install -D @matterlabs/hardhat-zksync-ethers
or
yarn add -D @matterlabs/hardhat-zksync-ethers zksync-ethers ethers
🙏 Helper | 📄 Description |
---|---|
providerL2 | Retruns a Provider for L2 automatically connected to the selected network. |
providerL1 | Retruns a Provider for L1 automatically connected to the selected network. |
getWallet | Returns Wallet for the given private key or index. |
getContractFactory variant1 | Returns a ContractFactory for provided artifact name. |
getContractFactory variant2 | Returns a ContractFactory for provided artifact abi and bytecode. |
getContractFactoryFromArtifact | Returns a ContractFactory for provided artifact. |
getContractAt | Returns Contract for provided artifact name or abi and address of deployed contract. |
getContractAtFromArtifact | Returns ContractFactory for provided artifact and address of deployed contract |
getImpersonatedSigner | Impersonates Signer from address |
extractFactoryDeps | Extracts factory deps from artifact |
loadArtifact | Load ZkSyncArtifact from contract name |
deployContract | Deploys a contract to the network |
After installing it, add the plugin to your Hardhat config:
import "@matterlabs/hardhat-zksync-ethers";
This plugin extends hardhat runtime environment, use it like this:
Retrieve your contract factory:
const myContractFactory = await hre.zksyncEthers.getContractFactory("MyContract");
Deploy your contract:
const myContract = await myContractFactory.deploy("Hello, world!");
Find deployed address:
console.info(await myContract.getAddress());
In addition to the hardhat-zksync-ethers, ZKsync's Era website offers a variety of resources including:
Guides to get started: Learn how to start building on ZKsync Era.
Hardhat ZKsync Era plugins: Overview and guides for all Hardhat ZKsync Era plugins.
ZK Chains: Deep dive into the concept of ZK chains.
Contributions are always welcome! Feel free to open any issue or send a pull request.
Go to CONTRIBUTING.md to learn about steps and best practices for contributing to ZKsync hardhat tooling base repository.
ZKsync Era Discord server: for questions and feedback.
Follow ZKsync Era on Twitter