Deploy Smart Contract on Ethereum Mainnet

Cid Miranda
May 8, 2024

--

©Cid Miranda — https://www.flickr.com/photos/cidska/

deploy.ts (typescript):

import { ethers } from "hardhat";

async function main() {
const saasWeb3Pay = await ethers.deployContract("SaasWeb3Pay");
await saasWeb3Pay.waitForDeployment();
console.log(`Deployed to ${saasWeb3Pay.target}`)
}

main().catch((error) => {
console.error(error);
process.exitCode = 1
})

Env:

SECRET=
INFURA_URL=
API_KEY=
NETWORK=mainnet

Config:

import dotenv from "dotenv";
dotenv.config();

import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";

const config: HardhatUserConfig = {
solidity: "0.8.24",
networks: {
mainnet: {
url: process.env.INFURA_URL,
accounts: {
mnemonic: process.env.SECRET
}
},
sepolia: {
url: process.env.INFURA_URL,
chainId: 11155111,
accounts: {
mnemonic: process.env.SECRET
}
},
local: {
chainId: 31337,
url: "http://127.0.0.1:8545",
accounts:{
mnemonic: "test test test test test test test test test test test junk"
}
}
},
etherscan: {
apiKey: process.env.API_KEY
}
};

export default config;

The wallet should have ETH.

npx hardhat run scripts/deploy.ts --network mainnet

--

--

No responses yet