Deploy a Smart Contract
Deploy a smart contract on your Avalanche L1.
This tutorial assumes that:
- an Avalanche L1 and EVM blockchain has been created
- Your Node is currently validating your target Avalanche L1
- Your wallet has a balance of the Avalanche L1 Native Token(Specified under alloc in your Genesis File).
Step 1: Setting up Core
EVM Avalanche L1 Settings: (EVM Core Tutorial)
Network Name
: Custom Subnet-EVMNew RPC URL
: http://NodeIPAddress:9650/ext/bc/BlockchainID/rpc (Note: the port number should match your local setting which can be different from 9650.)ChainID
: Subnet-EVM ChainIDSymbol
: Subnet-EVM Token SymbolExplorer
: N/A
You should see a balance of your Avalanche L1's Native Token in Core.
Step 2: Connect Core and Deploy a Smart Contract
Using Remix
Open Remix -> Select Solidity.
Create the smart contracts that we want to compile and deploy using Remix file explorer
Using GitHub
In Remix Home Click the GitHub button.
Paste the link to the Smart Contract into the popup and Click import.
For this example, we will deploy an ERC721 contract from the Avalanche Smart Contract Quickstart Repository.
Navigate to Deploy Tab -> Open the "ENVIRONMENT" drop-down and select Injected Web3 (make sure Core is loaded).
Once we injected the web3-> Go back to the compiler, and compile the selected contract -> Navigate to Deploy Tab.
Now, the smart contract is compiled, Core is injected, and we are ready to deploy our ERC721. Click "Deploy."
Confirm the transaction on the Core pop up.
Our contract is successfully deployed!
Now, we can expand it by selecting it from the "Deployed Contracts" tab and test it out.
The contract ABI and Bytecode are available on the compiler tab.
If you had any difficulties following this tutorial or simply want to discuss Avalanche with us, you can join our community at Discord!
You can use Subnet-EVM just like you use C-Chain and EVM tools. Only differences are chainID
and RPC URL. For example you can deploy your contracts with hardhat quick start guide by changing url
and chainId
in the hardhat.config.ts
.
Last updated on