Deploy your Smart Contracts
To deploy your smart contracts to a live network, there are a few things you need to adjust.
1. Select the network
yarn deploy will deploy the contract to the local network. You can change the defaultNetwork in
packages/hardhat/hardhat.config.ts. You could also simply run
yarn deploy --network target_network to deploy to another network.
hardhat.config.ts for the networks that are pre-configured. You can also add other network settings to the
hardhat.config.ts file. Here are the Alchemy docs for information on specific networks.
Example: To deploy the contract to the Sepolia network, run the command below:
yarn deploy --network sepolia
2. Generate a new account or add one to deploy the contract(s) from.
The deployer account is the account that will deploy your contracts. Additionally, the deployer account will be used to execute any function calls that are part of your deployment script.
You can generate a random account / private key or add the private key of your crypto wallet.
To create a random account and add the
DEPLOYER_PRIVATE_KEY to the
.env file, run:
If you prefer to manually set your own private key, need to add
You can check the configured (generated or manually set) account and balances with:
3. Deploy your smart contract(s)
Run the command below to deploy the smart contract to the target network. Make sure to have some funds in your deployer account to pay for the transaction.
yarn deploy --network network_name
4. Verify your smart contract
You can verify your smart contract on Etherscan by running:
yarn verify --network network_name
Configuration of Third-Party Services for Production-Grade Apps.
By default, Scaffold-ETH 2 provides predefined API keys for popular services such as Alchemy and Etherscan. This allows you to begin developing and testing your applications more easily, avoiding the need to register for these services.
For production-grade applications, it's recommended to obtain your own API keys (to prevent rate limiting issues). You can configure these at:
packages/nextjs/.env.local. You can create API keys from the Alchemy dashboard.
packages/hardhat/.envwith your generated API key. You can get your key here.
It's recommended to store env's for nextjs in Vercel/system env config for live apps and use .env.local for local testing.