Skip to main content
SUBMIT A PRSUBMIT AN ISSUElast edit: Dec 13, 2024

EVM Tutorials

Ethereum compatibility layer is now available on subtensor (the blockchain in Bittensor). Using this EVM feature you can:

  • Bring any Ethereum smart contract, deploy it on the subtensor without any need to change it, and interact with the smart contract on the subtensor blockchain.
  • Access all the standard Ethereum JSON-RPC methods from this EVM compatibility layer on subtensor.

Before you proceed

Before you proceed to use EVM on subtensor, make a note of the following:

  1. EVM smart contract executes on subtensor: The EVM feature allows the subtensor blockchain to execute Ethereum-compatible smart contracts. Note that all operations performed by this new subtensor EVM feature are executed solely on the subtensor blockchain, not on the Ethereum blockchain.
  2. Permissioned deployment: Until further notice, only white-listed parties can deploy a smart contract on subtensor. When you are ready to deploy, make a request in the evm-bittensor channel of Bittensor Discord.
  3. Permissionless interaction: However, anyone call a smart contract that was already deployed on subtensor, and interact with it in a permissionless way.
  4. 1 TAO = 1e18 on subtensor EVM: While working with the subtensor EVM, 1 TAO should be written as 1 followed by 18 zeroes, i.e., 1e18. See this code example: https://github.com/opentensor/evm-bittensor/blob/main/examples/withdraw.js#L58.
EVM on Mainnet

EVM features on the mainnet will be available only after the Bittensor 8.4.0 is released. In the mean time use this mainnet node: wss://evm.chain.opentensor.ai to access EVM on the mainnet.

Run the below tutorials to learn how to use the EVM feature on the Bittensor blockchain.

EVM on Subtensor: Basics
A beginner-friendly introduction to EVM on Bittensor.
READ MORE
Install Dependencies
Get started by installing dependencies first.
READ MORE
EVM Testnet with Metamask
Learn how to set up your Metamask wallet with EVM testnet.
READ MORE
EVM Localnet with Metamask
Set up your Metamask wallet for a localnet with EVM feature.
READ MORE
TAO transfer from Metamask to SS58
Learn how to transfer TAO from Metamask to SS58.
READ MORE
Transfer TAO between two H160 addresses
Learn how to transfer TAO between two Ethereum H160 addresses.
READ MORE
Configure Hardhat for subtensor EVM
Using Hardhat? Configure it to work with subtensor EVM.
READ MORE
Stake with a smart contract
Stake to a hotkey using precompiled smart contract.
READ MORE
Verify ed25519 with a precompile
Verify an ed25519 signature on subtensor EVM.
READ MORE