@matterlabs/hardhat-zksync-ethers v1.0.0
hardhat-zksync-ethers 🚀
zkSync Era Hardhat plugin that is a wrapper around zksync-ethers sdk that gives additional methods to use for faster development.
📥 Installation
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
Helpers
🙏 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 |
📖 Example
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());
📝 Documentation
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.\ Hyperscaling: Deep dive into hyperscaling on zkSync Era.
🤝 Contributing
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.
🙌 Feedback, help and news
zkSync Era Discord server: for questions and feedback.\ Follow zkSync Era on Twitter