Ethereum Development Tutorials
Welcome to our curated list of community tutorials.
Server components and agents for web3 apps
Ori Pomerantz •July 15, 2024 •8 min
After reading this tutorial, you will be able to write TypeScript servers that listen to events on a blockchain and respond accordingly with their own transactions. This will enable you to write centralized applications (because the server is a point of failure), but can interact with web3 entities. The same techniques can also be used to write an agent that responds to on-chain events without a human in the loop.
IPFS for decentralized user interfaces
Ori Pomerantz •June 29, 2024 •4 min
This tutorial teaches the reader how to use IPFS to store the user interface for a dapp. Although the application's data and business logic are decentralized, without a censorship resistant user interface users might lose access to it anyway.
What is EIP-4844? Proto-Danksharding and blob transactions explained
Patrick Collins •May 29, 2024 •11 min •External
What is the EIP-4844? Learn what proto-danksharding and blobs are, how they work, and how to send your first blob transaction using the new Ethereum improvement proposal
What is EIP-4844? | Blobs & Proto-danksharding
Patrick Collins •May 29, 2024 •10 min •External
What is EIP-4844? What are blob-carrying transactions?
Simple NFT Example
Austin Griffith •April 24, 2024 •10 min •External
Build, mint, and transfer your own ERC721
Decentralized Staking App
Austin Griffith •April 24, 2024 •30 min •External
Build, test, and deploy your own decentralized staking app
Token Vendor
Austin Griffith •April 24, 2024 •30 min •External
Build a vending machine to buy and sell your own ERC20
Dice Game
Austin Griffith •April 24, 2024 •25 min •External
Deploy a contract to attack a DiceGame contract and predict the randomness so you only roll winners
Build a DEX
Austin Griffith •April 24, 2024 •60 min •External
Deploy a decentralized exchange to swap an ERC20 and ETH
State Channel Application
Austin Griffith •April 24, 2024 •60 min •External
Create an app to lock collateral onchain, transact offchain, then finalize onchain.
Multisig wallet
Austin Griffith •April 24, 2024 •90 min •External
Deploy a multi-signature wallet where enough signatures are required to execute a transaction
Learn Smart Contract Auditing, Security, and DeFi
Cyfrin Updraft •December 13, 2023 •1320 min •External
The ultimate web3 security course for all those looking to be top smart contract developer or security researchers. We teach you all the cutting edge skills needed to make web3 safer and start a successful career in web3 security.
Building a user interface for your contract
Ori Pomerantz •November 1, 2023 •15 min
Using modern components such as TypeScript, React, Vite, and Wagmi, we will go over a modern, but minimal, user interface and learn how to connect a wallet to the user interface, call a smart contract to read information, send a transaction to a smart contract, and monitor events from a smart contract to identify changes.
Some tricks used by scam tokens and how to detect them
Ori Pomerantz •September 15, 2023 •15 min
In this tutorial we dissect a scam token to see some of the tricks that scammers play, how they implement them, and how we can detect them.
How to Get Transaction History for an Address on Ethereum
Alchemy •July 1, 2023 •10 min •External
Learn how to get the full transaction history for a smart contract or a user address including external, internal, token, ERC-20, ERC-721 and ERC-1155 token transfers in a single request.
Learn Solidity, Blockchain Development, & Smart Contracts using Foundry
Patrick Collins •June 7, 2023 •504 min •External
This course will give you a full introduction to all of the core concepts related to blockchain, smart contracts, Solidity, ERC20s, Foundry, DeFi, Chainlink, Ethereum, upgradable smart contracts, DAOs, IPFS, and more. Follow along with the videos and you'll be a blockchain wizard in no time!
Formal Verification & Symbolic Execution
Patrick Collins •April 25, 2023 •10 min •External
We look at formal verification & symbolic execution with two Trail of Bits Web3 security team members. Additionally, we review the value these techniques bring and compare them to other tools.
Fuzzing & Invariant Testing Introduction
Patrick Collins •April 13, 2023 •9 min •External
What is fuzz testing? What are invariant tests? We introduce how to use these tools in Web3 & Solidity and explain why they are essential, especially for security.
How to develop and test a dApp on a local, multi-client testnet
Tedi Mitiku •April 11, 2023 •11 min
This guide will first walk you through how to instantiate and configure a multi-client local Ethereum testnet before using the testnet to deploy & test a dApp.
What is a Smart Contract Audit
Patrick Collins •April 6, 2023 •5 min •External
Smart Contract Auditing | What it is, what to expect, and where to look for one. Everything you need to know!
Build an escrow contract with Solidity and Replit
replit •March 24, 2023 •20 min •External
Learn how to build a simple escrow smart contract, which will include deploying your own non-fungible token (NFT) and learning more about Solidity on Ethereum.
Build a robot NFT with Solidity and Replit (part 1)
replit •March 24, 2023 •20 min •External
Learn how to create a simple generative art NFT, ReplBots, with part 1 focusing on the smart contract deployment.
Build a robot NFT with Solidity and Replit (part 2)
replit •March 24, 2023 •15 min •External
Continues from part 1 where you can learn how to create a frontend interface for your NFT application.
Build a smart contract oracle with Solidity, Node.js, and Replit
replit •March 24, 2023 •30 min •External
Learn how to use oracles in smart contracts and how oracles work internally, and gain experience with hybrid on-and-off chain systems.
devpill.me
dcbuilder •March 22, 2023NaN •External
devpill.me is a public good blockchain development guide aimed at becoming the go-to learning resource aggregator for building on Ethereum and its wider ecosystem of scaling solutions and applications.
Learn EVM Opcodes Series
Engin YILMAZ @veridelisi •March 8, 2023NaN •External
Welcome to the comprehensive series on understanding Ethereum Virtual Machine (EVM) Opcodes
EIP-1271: Signing and Verifying Smart Contract Signatures
Nathan H. Leung •January 12, 2023 •6 min
An overview of smart contract signature generation and verification with EIP-1271. We also walk through the EIP-1271 implementation used in Safe (previously Gnosis Safe) to provide a concrete example for smart contract developers to build on.
Issuing And Verifying Ethereum DIDs with Metamask
Aw Kai Shin •November 10, 2022 •9 min •External
An initial explainer on how decentralized identity works
All you can cache
Ori Pomerantz •September 15, 2022 •23 min
Learn how to create and use a caching contract for cheaper rollup transactions
ERC-20 with Safety Rails
Ori Pomerantz •August 15, 2022 •8 min
How to help people avoid silly mistakes
How to turn your Raspberry Pi 4 into a node just by flashing the MicroSD card
EthereumOnArm •June 10, 2022 •8 min
Flash your Raspberry Pi 4, plug in an ethernet cable, connect the SSD disk and power up the device to turn the Raspberry Pi 4 into a full Ethereum node + validator
Learn Blockchain, Solidity, and Full Stack Web3 Development with JavaScript
Patrick Collins •May 26, 2022 •1920 min •External
This course will give you a full introduction to all of the core concepts related to blockchain, smart contracts, Solidity, ERC20s, full-stack Web3 dapps, DeFi, JavaScript, TypeScript, Chainlink, Ethereum, upgradable smart contracts, DAOs, the graph, Moralis, Aave, IPFS, and more. Follow along with the videos and you'll be a blockchain wizard in no time!
Understanding the Yellow Paper's EVM Specifications
qbzzt •May 15, 2022 •19 min
Understanding the part of the Yellow Paper, the formal specifications for Ethereum, that explains the Ethereum virtual machine (EVM).
How to develop an NFT Smart Contract (ERC721) with Alchemy
Vitto Rivabella •May 1, 2022 •48 min •External
A tutorial showing how to develop your first NFT smart contract quickly using OpenZeppelin, Remix, Alchemy, and Opensea. The first lesson of Road to Web3, a series of community-focused weekly Web3 development projects!
Short ABIs for Calldata Optimization
Ori Pomerantz •April 1, 2022 •14 min
Optimizing smart contracts for Optimistic Rollups
Optimism standard bridge contract walkthrough
Ori Pomerantz •March 30, 2022 •33 min
How does the standard bridge for Optimism work? Why does it work this way?
Introduction to Foundry
Patrick Collins •March 28, 2022 •19 min •External
We build a minimal Foundry project using a staking application to show you how to work with Foundry.
How to build an on-chain DAO
Patrick Collins •March 4, 2022 •86 min •External
Using Compound and Openzeppelin as a basis, we build a 100% on-chain DAO using an ERC20 governance token for votes.
How to build an on-chain DAO
Patrick Collins •February 24, 2022 •6 min •External
Using Compound and Openzeppelin as a basis, we build a 100% on-chain DAO using an ERC20 governance token for votes.
How to Connect your Smart Contracts to Metamask
Patrick Collins •February 11, 2022 •70 min •External
We learn exactly how web3 / blockchain / smart contract applications work in the front end using HTML and Javascript. We then go through 6 different ways you can connect your Metamask, Phantom, or other blockchain wallet address to your front end. We’ll look at popular Nextjs / React packages to make your development lifecycle 100 times easier.
Full Stack Web3 — Everything You Need to Know
Patrick Collins •February 7, 2022 •14 min •External
We learn exactly how web3 / blockchain / smart contract applications work in the front end using HTML and Javascript. We then go through 6 different ways you can connect your Metamask, Phantom, or other blockchain wallet address to your front end. We’ll look at popular Nextjs / React packages to make your development lifecycle 100 times easier.
Merkle proofs for offline data integrity
Ori Pomerantz •December 30, 2021 •10 min
Ensuring data integrity on chain for data that is stored, mostly, off chain
Reverse Engineering a Contract
Ori Pomerantz •December 30, 2021 •32 min
How to understand a contract when you don't have the source code
Events and Logging in Solidity
Patrick Collins •November 25, 2021 •5 min •External
Learn all about solidity events and logging, with hardhat and brownie examples! With video example: https://www.youtube.com/watch?v=KDYJC85eS5M
How to become a blockchain engineer
Patrick Collins •November 8, 2021 •12 min •External
We explore the steps one needs to take to enter the world as a blockchain developer and engineer. We talk about how to get there.
Hello World Smart Contract for Beginners - Fullstack
nstrike2 •October 25, 2021 •45 min
Introductory tutorial on writing and deploying a simple smart contract on Ethereum.
What is Multicall?
Patrick Collins •October 14, 2021 •15 min •External
Learn how to make multiple API calls to a blockchain node with a single API call to a multicall contract.
NFT Minter Tutorial
smudgil •October 6, 2021 •28 min
In this tutorial, you’ll build an NFT minter and learn how to create a full stack dapp by connecting your smart contract to a React frontend using MetaMask and Web3 tools.
Solidity, Blockchain, and Smart Contract Course
Patrick Collins •September 9, 2021 •960 min •External
This course will give you a full introduction into all of the core concepts in blockchain, smart contracts, solidity, NFTs/ERC721s, ERC20s, Coding Decentralized Finance (DeFi), python and solidity, Chainlink, Ethereum, upgradable smart contracts, and full stack blockchain development.
How to make NFT Art with On-Chain Metadata
Patrick Collins •September 3, 2021 •180 min •External
Explore the world of using SVGs to generate random NFT ImageURIs and Metadata 100% on-chain.
The Complete Guide to Full Stack Ethereum Development
Nader Dabit •August 25, 2021 •18 min •External
Building Full Stack dapps with React, Ethers.js, Solidity, and Hardhat
Leveraged Trading in DeFi
Patrick Collins •June 29, 2021 •34 min •External
Leveraged trading is a common strategy in traditional finance, and leveraged trades are even easier to do in DeFi
How to Set Up Tellor as your Oracle
Tellor •June 29, 2021 •2 min
A guide to get started with integrating the Tellor oracle into your protocol
Hardhat's tutorial for beginners
Hardhat •June 22, 2021NaN •External
Hardhat's beginners guide to Ethereum contracts and dapp development
Aave Flash Loan Tutorial
Patrick Collins •May 24, 2021 •30 min •External
All about upgradable smart contracts, proxies, and using delegatecall in your solidity.
Create your own Blockchain ERC20 Token
Patrick Collins •May 24, 2021 •30 min •External
Deploy your smart contract to Opensea, end-to-end.
Learn Foundational Ethereum Topics with SQL
Paul Apivat •May 11, 2021 •8 min
This tutorial helps readers understand fundamental Ethereum concepts including transactions, blocks and gas by querying on-chain data with Structured Query Language (SQL).
NFT/ERC-721/Collectible END-TO-END TUTORIAL | Deploy, List on Opensea, Host Metadata on IPFS
Patrick Collins •May 9, 2021 •17 min •External
Build your own ERC20 token using Brownie, Python, and Solidity.
Uniswap-v2 Contract Walk-Through
Ori Pomerantz •May 1, 2021 •60 min
How does the Uniswap-v2 contract work? Why is it written that way?
Upgrading your Smart Contracts | A Tutorial & Introduction
Patrick Collins •April 25, 2021 •17 min •External
Learn how to make contracts that use flash loans. Using Brownie, Solidity, Aave.
How to Mint an NFT (Part 2/3 of NFT Tutorial Series)
Sumi Mudgil •April 22, 2021 •9 min
This tutorial describes how to mint an NFT on the Ethereum blockchain using our smart contract and Web3.
How to View Your NFT in Your Wallet (Part 3/3 of NFT Tutorial Series)
Sumi Mudgil •April 22, 2021 •2 min
This tutorial describes how to view an existing NFT on MetaMask!
How to Write & Deploy an NFT (Part 1/3 of NFT Tutorial Series)
Sumi Mudgil •April 22, 2021 •13 min
This tutorial is Part 1 of a series on NFTs that will take you step by step on how to write and deploy a Non Fungible Token (ERC-721 token) smart contract using Ethereum and Inter Planetary File System (IPFS).
Sending Tokens Using ethers.js
Kim YongJun •April 6, 2021 •2 min
Beginner friendly guide to sending tokens using ethers.js.
Vyper ERC-721 Contract Walkthrough
Ori Pomerantz •April 1, 2021 •20 min
Ryuya Nakamura's ERC-721 contract and how it works
Hello World Smart Contract for Beginners
elanh •March 31, 2021 •12 min
Introductory tutorial on writing and deploying a simple smart contract on Ethereum.
ERC-20 Contract Walk-Through
Ori Pomerantz •March 9, 2021 •27 min
What is in the OpenZeppelin ERC-20 contract and why is it there?
Testing simple smart contract with Waffle library
Ewa Kowalska •February 26, 2021 •6 min
Tutorial for beginners
Monitoring Geth with InfluxDB and Grafana
Mario Havel •January 13, 2021 •4 min
How to Fetch the Current Price of Ethereum in Solidity
Harry Papacharissiou •January 5, 2021NaN •External
Learn how to fetch the current price of Bitcoin, Ethereum and other cryptocurrencies in your Solidity smart contracts.
Using WebSockets
Elan Halpern •December 1, 2020 •6 min
Guide to using WebSockets and Alchemy to make JSON-RPC requests and subscribe to events.
Waffle: Dynamic mocking and testing contract calls
Daniel Izdebski •November 14, 2020 •7 min
Advanced Waffle tutorial for using dynamic mocking and testing contract calls
Sending Transactions Using Web3
Elan Halpern •November 4, 2020 •10 min
This is a beginner friendly guide to sending Ethereum transactions using Web3. There are three main steps in order to send a transaction to the Ethereum blockchain: create, sign, and broadcast. We’ll go through all three.
Getting Started with Ethereum Development
Elan Halpern •October 30, 2020 •4 min
This is a beginner's guide to getting started with Ethereum development. We’ll take you from spinning up an API endpoint, to making a command line request, to writing your first web3 script! No blockchain development experience necessary!
Testing ERC-20 tokens with Waffle
Vladislav Starostenko •October 16, 2020 •42 min
Learn how test Solidity smart contracts and use smart contract matchers with Waffle.
Waffle say hello world tutorial with hardhat and ethers
MiZiet •October 16, 2020 •4 min
Make your first Waffle project with hardhat and ethers.js
A Python developer's introduction to Ethereum, part 1
Marc Garreau •September 8, 2020 •12 min
An introduction to Ethereum development, especially useful for those with knowledge of the Python programming language
A guide to smart contract security tools
Trailofbits •September 7, 2020 •6 min
An overview of three different testing and program analysis techniques
Smart contract security checklist
Trailofbits •September 7, 2020 •2 min
A suggested workflow for writing secure smart contracts
Smart contract security guidelines
Trailofbits •September 6, 2020 •4 min
A checklist of security guidelines to consider when building your dapp
The Graph: Fixing Web3 data querying
Markus Waas •September 6, 2020 •8 min
Blockchain is like a database but without SQL. All the data is there, but no way to access it. Let me show you how to fix this with The Graph and GraphQL.
Token integration checklist
Trailofbits •August 13, 2020 •4 min
A checklist of things to consider when interacting with tokens
Downsizing contracts to fight the contract size limit
Markus Waas •June 26, 2020 •6 min
What can you do to prevent your smart contracts from getting too large?
How to use Slither to find smart contract bugs
Trailofbits •June 9, 2020 •7 min
How to use Slither to automatically find bugs in smart contracts
How to mock Solidity smart contracts for testing
Markus Waas •May 2, 2020 •4 min
Why you should make fun of your contracts when testing
Kickstart your dapp frontend development with create-eth-app
Markus Waas •April 27, 2020 •6 min
An overview of how to use create-eth-app and its features
Calling a smart contract from JavaScript
jdourlens •April 19, 2020 •3 min
How to call a smart contract function from JavaScript using a Dai token example
Set up web3.js to use the Ethereum blockchain in JavaScript
jdourlens •April 11, 2020 •3 min
How to use a smart contract to interact with a token using the Solidity language
How to use Echidna to test smart contracts
Trailofbits •April 10, 2020 •13 min
How to use Echidna to automatically test smart contracts
Transfers and approval of ERC-20 tokens from a solidity smart contract
jdourlens •April 7, 2020 •7 min
How to use a smart contract to interact with a token using the Solidity language
Interact with other contracts from Solidity
jdourlens •April 5, 2020 •4 min
How to deploy a smart contract from an existing contract and interact with it
Understand the ERC-20 token smart contract
jdourlens •April 5, 2020 •5 min
An introduction to deploying your first smart contract on an Ethereum test network
Deploying your first smart contract
jdourlens •April 3, 2020 •4 min
An introduction to deploying your first smart contract on an Ethereum test network
Logging data from smart contracts with events
jdourlens •April 3, 2020 •2 min
An introduction to smart contract events and how you can use them to log data
How to implement an ERC-721 market
Alberto Cuesta Cañada •March 19, 2020 •6 min
How to put tokenized items for sale on a decentralized classifieds board
How to use Manticore to find bugs in smart contracts
Trailofbits •January 13, 2020 •11 min
How to use Manticore to automatically find bugs in smart contracts