Deploying Contract
1
Install zksync-ethers
The zksync-ethers package provides a modified version of the ethers library that is compatible with Abstract and the ZKsync VM. Install the package by running the following command:
2
Set the deployer account private key
Create a new configuration variable
called Enter the private key of a new wallet you created for this step.
DEPLOYER_PRIVATE_KEY
.Do NOT use a private key associated with real funds. Create a new wallet for this step.
3
4
Write the deployment script
Create a new Hardhat script located at Add the following code to the
/deploy/deploy.ts
:deploy.ts
file:5
Deploy your smart contract
Run the following command to deploy your smart contracts:If successful, your output should look similar to the following:
Providing constructor arguments
The second argument to thedeploy
function is an array of constructor arguments.
To deploy your smart contract with constructor arguments, provide an array containing your constructor arguments as the second argument to the deploy
function.
Create2 & Smart Wallet Deployments
Specify different deployment types through using the thirddeploymentType
parameter:
- create: Standard contract deployment (default)
- create2: Deterministic deployment using CREATE2
- createAccount: Deploy a smart contract wallet.
- create2Account: Deterministic deployment of a smart contract wallet.