Builder Hub
  • Chat
  • Ecosystem Careers
  • Explorer
Welcome to the Course

Intro to EVM & Precompiles

Origin of the EVMAccounts, Keys, and AddressesTransactions and BlocksDifferent Versions of EVM

Development Environment Setup

Set Up Development EnvironmentCreate CodespacesCodespace in VS Code

Your Own EVM Blockchain

Your Own EVM BlockchainAvalanche CLICreate Your BlockchainSending Tokens

Genesis Configuration

EVM ConfigurationGenesis BlockCreate Your Genesis FileSetup Your ChainIDGas Fees and Gas LimitGas Fees ConfigurationConfigure Gas FeesInitial Token AllocationBuild and Run Custom Genesis EVM

Precompiles

What are Precompiles?Why Precompiles?Interact with a Precompile

Hash Function Precompile

OverviewCreate an MD5 Solidity InterfaceGenerate the PrecompilePacking and UnpackingImplement the PrecompileConfigKey, ContractAddress, and GenesisRegister Your PrecompileBuild and RunInteract with Precompile

Calculator Precompile

OverviewCreate Solidity InterfaceGenerating the PrecompileUnpacking Multiple Inputs & Packing Multiple OutputsImplementing PrecompileSetting the ConfigKey & ContractAddressCreating Genesis Block with precompileConfigTesting Precompiles via GoModify Autogenerated TestsAdding Unit TestsAdding Fuzz TestsTesting CalculatorPlus

Stateful Precompiles

What are Stateful Precompiles?Interacting with StringStore Precompile

Stateful Counter Precompile

Creating Counter PrecompileCreate Solidity InterfaceStore Data in EVM StateImplementing setCounterRead Data From EVM StateImplementing getCounter & incrementSetting Base Gas Fees of Your PrecompileSetting ConfigKey and ContractAddressInitial StateDefining Default Values via GolangDefining Default Values via GenesisTesting Your PrecompileBuild Your Precompile

Course Completion

Course Completion Certificate

Course Completion Certificate

Get your completion certificate for the Customizing the EVM course

You've made it to the end of the course! Let's check your progress and get your certificate.

Loading...

Thank you for participating in this course. We hope you found it informative and enjoyable!

Is this guide helpful?

Build Your Precompile

Learn how to build and run your precompile as a custom EVM blockchain.

On this page

No Headings

Page Actions

Edit on GitHubReport Issue
Instructors:
Martin Eckardt
Martin Eckardt
Sr. Director of Developer Relations
Ash
Ash
Developer Relations Engineer
Join Telegram Course Chat