@zoroprotocol/hardhat-zksync-web3
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

hardhat-zksync-web3

Hardhat plugin that extends the Hardhat Runtime Environment with the zksync-web3 wallet.

Developers can create the zksync-web3.Wallet with either a private key or keystore file. If a keystore file is used, the user is prompted for the keystore password. Keystores are best for secure scripts that do not pollute project directories with plaintext private keys stored in .env files.

Installation

npm install hardhat-zksync-web3 hardhat @nomiclabs/hardhat-ethers ethers @matterlabs/hardhat-zksync-deploy zksync-web3

Import the plugin in your hardhat.config.js:

require("hardhat-zksync-web3");

Or if you are using TypeScript, in your hardhat.config.ts:

import "hardhat-zksync-web3";

Required plugins

Environment extensions

This plugin extends the Hardhat Runtime Environment by adding a getZkWallet() function that returns a zksync-web3.Wallet connected to a zksync-web3.Provider and ethers.Provider for the current L1 and L2 network.

Configuration

This plugin extends the HardhatUserConfig's NetworkUserConfig object with an optional zkWallet field.

This is an example of how to set it:

const config: HardhatUserConfig = {
  networks: {
    zkLocal: {
      url: "http://localhost:3050",
      ethNetwork: "http://localhost:8545",
      chainId: 270,
      zksync: true,
      zkWallet: {
        privateKey: ETH_PK // Account private key
      }
    },
    zkTestnet: {
      url: "https://testnet.era.zksync.dev",
      ethNetwork: "goerli", // RPC URL of the network (e.g. `https://goerli.infura.io/v3/<API_KEY>`)
      chainId: 280,
      zksync: true,
      verifyURL:
        "https://zksync2-testnet-explorer.zksync.dev/contract_verification", // Verification endpoint
      zkWallet: {
        keystore: ETH_KEYSTORE // Path to password protected keystore file
      }
    }
  }
};

Usage

There are no additional steps you need to take for this plugin to work.

Install it and access the wallet through the Hardhat Runtime Environment anywhere you need it (tasks, scripts, tests, etc).

If using a keystore file, enter the password when prompted by the task, script, test, etc.

Package Sidebar

Install

npm i @zoroprotocol/hardhat-zksync-web3

Weekly Downloads

0

Version

1.0.0

License

MIT

Unpacked Size

16.4 kB

Total Files

18

Last publish

Collaborators

  • 0xuncleenzo