Created
July 5, 2025 17:48
-
-
Save chair28980/3a3b6eff2eabeed6453b26f5b5656d37 to your computer and use it in GitHub Desktop.
se2 deploy file works with status network sepolia
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { HardhatRuntimeEnvironment } from "hardhat/types"; | |
import { DeployFunction } from "hardhat-deploy/types"; | |
import { Contract } from "ethers"; | |
/** | |
* Deploys a contract named "YourContract" using the deployer account and | |
* constructor arguments set to the deployer address | |
* | |
* @param hre HardhatRuntimeEnvironment object. | |
*/ | |
const deployYourContract: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { | |
/* | |
On localhost, the deployer account is the one that comes with Hardhat, which is already funded. | |
When deploying to live networks (e.g `yarn deploy --network sepolia`), the deployer account | |
should have sufficient balance to pay for the gas fees for contract creation. | |
You can generate a random account with `yarn generate` or `yarn account:import` to import your | |
existing PK which will fill DEPLOYER_PRIVATE_KEY_ENCRYPTED in the .env file (then used on hardhat.config.ts) | |
You can run the `yarn account` command to check your balance in every network. | |
*/ | |
const { deployer } = await hre.getNamedAccounts(); | |
const { deploy } = hre.deployments; | |
await deploy("YourContract", { | |
from: deployer, | |
// Contract constructor arguments | |
args: [deployer], | |
log: true, | |
// autoMine: can be passed to the deploy function to make the deployment process faster on local networks by | |
// automatically mining the contract deployment transaction. There is no effect on live networks. | |
autoMine: true, | |
}); | |
// Get the deployed contract to interact with it after deploying. | |
const yourContract = await hre.ethers.getContract<Contract>("YourContract", deployer); | |
console.log("👋 Initial greeting:", await yourContract.greeting()); | |
}; | |
export default deployYourContract; | |
// Tags are useful if you have multiple deploy files and only want to run one of them. | |
// e.g. yarn deploy --tags YourContract | |
deployYourContract.tags = ["YourContract"]; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment