Skip to main content

Ethereum Development Tutorials

Welcome to our curated list of community tutorials.

Server components and agents for web3 apps

Beginner

Ori PomerantzJuly 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.

agent
server
offchain
centralized

IPFS for decentralized user interfaces

Beginner

Ori PomerantzJune 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.

ipfs
user interface

What is EIP-4844? Proto-Danksharding and blob transactions explained

Intermediate

Patrick CollinsMay 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

layer 2

What is EIP-4844? | Blobs & Proto-danksharding

Intermediate

Patrick CollinsMay 29, 2024 10 min External

What is EIP-4844? What are blob-carrying transactions?

layer 2

Simple NFT Example

Beginner

Austin GriffithApril 24, 2024 10 min External

Build, mint, and transfer your own ERC721

solidity
smart contracts
react
nextjs
wagmi
nft
javascript
typescript
openzeppelin

Decentralized Staking App

Beginner

Austin GriffithApril 24, 2024 30 min External

Build, test, and deploy your own decentralized staking app

solidity
smart contracts
react
nextjs
wagmi
javascript
typescript
frontend

Token Vendor

Beginner

Austin GriffithApril 24, 2024 30 min External

Build a vending machine to buy and sell your own ERC20

solidity
smart contracts
react
nextjs
wagmi
javascript
typescript
frontend
erc-20
openzeppelin

Dice Game

Beginner

Austin GriffithApril 24, 2024 25 min External

Deploy a contract to attack a DiceGame contract and predict the randomness so you only roll winners

solidity
smart contracts
react
nextjs
wagmi
javascript
typescript
frontend
openzeppelin

Build a DEX

Intermediate

Austin GriffithApril 24, 2024 60 min External

Deploy a decentralized exchange to swap an ERC20 and ETH

solidity
smart contracts
react
nextjs
wagmi
javascript
typescript
frontend
erc-20
openzeppelin

State Channel Application

Intermediate

Austin GriffithApril 24, 2024 60 min External

Create an app to lock collateral onchain, transact offchain, then finalize onchain.

solidity
smart contracts
react
nextjs
wagmi
javascript
typescript
frontend
openzeppelin

Multisig wallet

Intermediate

Austin GriffithApril 24, 2024 90 min External

Deploy a multi-signature wallet where enough signatures are required to execute a transaction

solidity
smart contracts
react
nextjs
wagmi
javascript
typescript
frontend
openzeppelin
signing

Learn Smart Contract Auditing, Security, and DeFi

Advanced

Cyfrin UpdraftDecember 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.

solidity
smart contracts
video
oracles
foundry
defi
fuzzing

Building a user interface for your contract

Beginner

Ori PomerantzNovember 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.

typescript
react
vite
wagmi
frontend

Some tricks used by scam tokens and how to detect them

Intermediate

Ori PomerantzSeptember 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.

scam
solidity
erc-20
javascript
typescript

How to Get Transaction History for an Address on Ethereum

Beginner

AlchemyJuly 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.

alchemy
querying

Learn Solidity, Blockchain Development, & Smart Contracts using Foundry

Beginner

Patrick CollinsJune 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!

solidity
smart contracts
video
oracles
nft
erc-20
foundry
mocking
testing
defi
openzeppelin
slither
storage
alchemy
block explorer
fuzzing

Formal Verification & Symbolic Execution

Intermediate

Patrick CollinsApril 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.

security

Fuzzing & Invariant Testing Introduction

Beginner

Patrick CollinsApril 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.

security

How to develop and test a dApp on a local, multi-client testnet

Intermediate

Tedi MitikuApril 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.

clients
nodes
smart contracts
composability
consensus layer
execution layer
testing

What is a Smart Contract Audit

Beginner

Patrick CollinsApril 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!

security

Build an escrow contract with Solidity and Replit

Beginner

replitMarch 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.

solidity
smart contracts
erc-721

Build a robot NFT with Solidity and Replit (part 1)

Beginner

replitMarch 24, 2023 20 min External

Learn how to create a simple generative art NFT, ReplBots, with part 1 focusing on the smart contract deployment.

solidity
smart contracts
erc-721
nft

Build a robot NFT with Solidity and Replit (part 2)

Beginner

replitMarch 24, 2023 15 min External

Continues from part 1 where you can learn how to create a frontend interface for your NFT application.

javascript
frontend

Build a smart contract oracle with Solidity, Node.js, and Replit

Beginner

replitMarch 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.

solidity
oracles
javascript

devpill.me

Beginner

dcbuilderMarch 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.

frontend
backend
smart contracts
solidity

Learn EVM Opcodes Series

Beginner

Engin YILMAZ @veridelisiMarch 8, 2023NaN External

Welcome to the comprehensive series on understanding Ethereum Virtual Machine (EVM) Opcodes

opcodes
foundry
smart contracts
solidity
yul
storage
memory

EIP-1271: Signing and Verifying Smart Contract Signatures

Intermediate

Nathan H. LeungJanuary 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.

eip-1271
smart contracts
verifying
signing

Issuing And Verifying Ethereum DIDs with Metamask

Intermediate

Aw Kai ShinNovember 10, 2022 9 min External

An initial explainer on how decentralized identity works

identity

All you can cache

Intermediate

Ori PomerantzSeptember 15, 2022 23 min

Learn how to create and use a caching contract for cheaper rollup transactions

layer 2
caching
storage

ERC-20 with Safety Rails

Beginner

Ori PomerantzAugust 15, 2022 8 min

How to help people avoid silly mistakes

erc-20

How to turn your Raspberry Pi 4 into a node just by flashing the MicroSD card

Intermediate

EthereumOnArmJune 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

clients
execution layer
consensus layer
nodes

Learn Blockchain, Solidity, and Full Stack Web3 Development with JavaScript

Beginner

Patrick CollinsMay 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!

solidity
hardhat
ethersjs
smart contracts
react
nextjs
video
oracles
nft
erc-20
javascript
mocking
testing
defi
openzeppelin
slither
storage
moralis
alchemy
the graph
pinata
block explorer

Understanding the Yellow Paper's EVM Specifications

Intermediate

qbzztMay 15, 2022 19 min

Understanding the part of the Yellow Paper, the formal specifications for Ethereum, that explains the Ethereum virtual machine (EVM).

evm

How to develop an NFT Smart Contract (ERC721) with Alchemy

Beginner

Vitto RivabellaMay 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!

solidity
remix
ethersjs
smart contracts
openzeppelin
alchemy
video
nft
erc-721
alchemy
block explorer

Short ABIs for Calldata Optimization

Intermediate

Ori PomerantzApril 1, 2022 14 min

Optimizing smart contracts for Optimistic Rollups

layer 2

Optimism standard bridge contract walkthrough

Intermediate

Ori PomerantzMarch 30, 2022 33 min

How does the standard bridge for Optimism work? Why does it work this way?

solidity
bridge
layer 2

Introduction to Foundry

Beginner

Patrick CollinsMarch 28, 2022 19 min External

We build a minimal Foundry project using a staking application to show you how to work with Foundry.

solidity
foundry
video

How to build an on-chain DAO

Beginner

Patrick CollinsMarch 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.

solidity
typescript
hardhat
defi
dao
video

How to build an on-chain DAO

Beginner

Patrick CollinsFebruary 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.

solidity
typescript
hardhat
defi
dao

How to Connect your Smart Contracts to Metamask

Beginner

Patrick CollinsFebruary 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.

solidity
javascript
hardhat
nextjs
moralis
ethersjs
video

Full Stack Web3 — Everything You Need to Know

Beginner

Patrick CollinsFebruary 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.

solidity
javascript
hardhat
nextjs
moralis
web3modal
ethersjs

Merkle proofs for offline data integrity

Advanced

Ori PomerantzDecember 30, 2021 10 min

Ensuring data integrity on chain for data that is stored, mostly, off chain

storage

Reverse Engineering a Contract

Advanced

Ori PomerantzDecember 30, 2021 32 min

How to understand a contract when you don't have the source code

evm
opcodes

Events and Logging in Solidity

Beginner

Patrick CollinsNovember 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

solidity
events
hardhat
brownie
smart contracts
javascript
python

How to become a blockchain engineer

Beginner

Patrick CollinsNovember 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.

solidity

Hello World Smart Contract for Beginners - Fullstack

Beginner

nstrike2October 25, 2021 45 min

Introductory tutorial on writing and deploying a simple smart contract on Ethereum.

solidity
hardhat
alchemy
smart contracts
deploying
blockexplorer
frontend
transactions

What is Multicall?

Intermediate

Patrick CollinsOctober 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.

brownie
web3.py
video
python

NFT Minter Tutorial

Intermediate

smudgilOctober 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
nft
alchemy
smart contracts
frontend
pinata

Solidity, Blockchain, and Smart Contract Course

Beginner

Patrick CollinsSeptember 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.

solidity
brownie
web3.py
smart contracts
react
video
storage
oracles
nft
erc-20
python
mocking
testing
ganache

How to make NFT Art with On-Chain Metadata

Beginner

Patrick CollinsSeptember 3, 2021 180 min External

Explore the world of using SVGs to generate random NFT ImageURIs and Metadata 100% on-chain.

solidity
ethers.js
hardhat
nft
smart contracts
javascript
video

The Complete Guide to Full Stack Ethereum Development

Beginner

Nader DabitAugust 25, 2021 18 min External

Building Full Stack dapps with React, Ethers.js, Solidity, and Hardhat

solidity
hardhat
ethers.js
smart contracts
react

Leveraged Trading in DeFi

Beginner

Patrick CollinsJune 29, 2021 34 min External

Leveraged trading is a common strategy in traditional finance, and leveraged trades are even easier to do in DeFi

solidity
web3.py
brownie
defi
smart contracts
python
video

How to Set Up Tellor as your Oracle

Beginner

TellorJune 29, 2021 2 min

A guide to get started with integrating the Tellor oracle into your protocol

solidity
smart contracts
oracles

Hardhat's tutorial for beginners

Beginner

HardhatJune 22, 2021NaN External

Hardhat's beginners guide to Ethereum contracts and dapp development

hardhat
solidity
testing
smart contracts

Aave Flash Loan Tutorial

Intermediate

Patrick CollinsMay 24, 2021 30 min External

All about upgradable smart contracts, proxies, and using delegatecall in your solidity.

solidity
web3.py
brownie
smart contracts
python
openzeppelin
proxies
video

Create your own Blockchain ERC20 Token

Beginner

Patrick CollinsMay 24, 2021 30 min External

Deploy your smart contract to Opensea, end-to-end.

solidity
web3.py
brownie
smart contracts
python
openzeppelin
erc-20
video

Learn Foundational Ethereum Topics with SQL

Beginner

Paul ApivatMay 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).

sql
querying
transactions

NFT/ERC-721/Collectible END-TO-END TUTORIAL | Deploy, List on Opensea, Host Metadata on IPFS

Beginner

Patrick CollinsMay 9, 2021 17 min External

Build your own ERC20 token using Brownie, Python, and Solidity.

solidity
web3.py
brownie
smart contracts
python
openzeppelin
video

Uniswap-v2 Contract Walk-Through

Intermediate

Ori PomerantzMay 1, 2021 60 min

How does the Uniswap-v2 contract work? Why is it written that way?

solidity

Upgrading your Smart Contracts | A Tutorial & Introduction

Intermediate

Patrick CollinsApril 25, 2021 17 min External

Learn how to make contracts that use flash loans. Using Brownie, Solidity, Aave.

solidity
web3.py
brownie
smart contracts
python
video
defi

How to Mint an NFT (Part 2/3 of NFT Tutorial Series)

Beginner

Sumi MudgilApril 22, 2021 9 min

This tutorial describes how to mint an NFT on the Ethereum blockchain using our smart contract and Web3.

erc-721
alchemy
solidity
smart contracts

How to View Your NFT in Your Wallet (Part 3/3 of NFT Tutorial Series)

Beginner

Sumi MudgilApril 22, 2021 2 min

This tutorial describes how to view an existing NFT on MetaMask!

erc-721
alchemy
solidity

How to Write & Deploy an NFT (Part 1/3 of NFT Tutorial Series)

Beginner

Sumi MudgilApril 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).

erc-721
alchemy
solidity
smart contracts

Sending Tokens Using ethers.js

Beginner

Kim YongJunApril 6, 2021 2 min

Beginner friendly guide to sending tokens using ethers.js.

ethers.js
erc-20
tokens

Vyper ERC-721 Contract Walkthrough

Beginner

Ori PomerantzApril 1, 2021 20 min

Ryuya Nakamura's ERC-721 contract and how it works

vyper
erc-721
python

Hello World Smart Contract for Beginners

Beginner

elanhMarch 31, 2021 12 min

Introductory tutorial on writing and deploying a simple smart contract on Ethereum.

solidity
hardhat
alchemy
smart contracts
deploying

ERC-20 Contract Walk-Through

Beginner

Ori PomerantzMarch 9, 2021 27 min

What is in the OpenZeppelin ERC-20 contract and why is it there?

solidity
erc-20

Testing simple smart contract with Waffle library

Beginner

Ewa KowalskaFebruary 26, 2021 6 min

Tutorial for beginners

smart contracts
solidity
waffle
testing

Monitoring Geth with InfluxDB and Grafana

Intermediate

Mario HavelJanuary 13, 2021 4 min

clients
nodes

How to Fetch the Current Price of Ethereum in Solidity

Beginner

Harry PapacharissiouJanuary 5, 2021NaN External

Learn how to fetch the current price of Bitcoin, Ethereum and other cryptocurrencies in your Solidity smart contracts.

solidity
oracles

Using WebSockets

Beginner

Elan HalpernDecember 1, 2020 6 min

Guide to using WebSockets and Alchemy to make JSON-RPC requests and subscribe to events.

alchemy
websockets
querying
javascript

Waffle: Dynamic mocking and testing contract calls

Intermediate

Daniel IzdebskiNovember 14, 2020 7 min

Advanced Waffle tutorial for using dynamic mocking and testing contract calls

waffle
smart contracts
solidity
testing
mocking

Sending Transactions Using Web3

Beginner

Elan HalpernNovember 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.

transactions
web3.js
alchemy

Getting Started with Ethereum Development

Beginner

Elan HalpernOctober 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!

javascript
ethers.js
nodes
querying
alchemy

Testing ERC-20 tokens with Waffle

Intermediate

Vladislav StarostenkoOctober 16, 2020 42 min

Learn how test Solidity smart contracts and use smart contract matchers with Waffle.

waffle
smart contracts
solidity
testing
erc-20

Waffle say hello world tutorial with hardhat and ethers

Beginner

MiZietOctober 16, 2020 4 min

Make your first Waffle project with hardhat and ethers.js

waffle
smart contracts
solidity
testing
hardhat
ethers.js

A Python developer's introduction to Ethereum, part 1

Beginner

Marc GarreauSeptember 8, 2020 12 min

An introduction to Ethereum development, especially useful for those with knowledge of the Python programming language

python
web3.py

A guide to smart contract security tools

Intermediate

TrailofbitsSeptember 7, 2020 6 min

An overview of three different testing and program analysis techniques

solidity
smart contracts
security

Smart contract security checklist

Intermediate

TrailofbitsSeptember 7, 2020 2 min

A suggested workflow for writing secure smart contracts

smart contracts
security
solidity

Smart contract security guidelines

Intermediate

TrailofbitsSeptember 6, 2020 4 min

A checklist of security guidelines to consider when building your dapp

solidity
smart contracts
security

The Graph: Fixing Web3 data querying

Intermediate

Markus WaasSeptember 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.

solidity
smart contracts
querying
the graph
create-eth-app
react

Token integration checklist

Intermediate

TrailofbitsAugust 13, 2020 4 min

A checklist of things to consider when interacting with tokens

solidity
smart contracts
security
tokens

Downsizing contracts to fight the contract size limit

Intermediate

Markus WaasJune 26, 2020 6 min

What can you do to prevent your smart contracts from getting too large?

solidity
smart contracts
storage

How to use Slither to find smart contract bugs

Advanced

TrailofbitsJune 9, 2020 7 min

How to use Slither to automatically find bugs in smart contracts

solidity
smart contracts
security
testing
static analysis

How to mock Solidity smart contracts for testing

Intermediate

Markus WaasMay 2, 2020 4 min

Why you should make fun of your contracts when testing

solidity
smart contracts
testing
mocking

Kickstart your dapp frontend development with create-eth-app

Beginner

Markus WaasApril 27, 2020 6 min

An overview of how to use create-eth-app and its features

create-eth-app
frontend
javascript
ethers.js
the graph
defi

Calling a smart contract from JavaScript

Beginner

jdourlensApril 19, 2020 3 min

How to call a smart contract function from JavaScript using a Dai token example

transactions
frontend
javascript
web3.js

Set up web3.js to use the Ethereum blockchain in JavaScript

Beginner

jdourlensApril 11, 2020 3 min

How to use a smart contract to interact with a token using the Solidity language

web3.js
javascript

How to use Echidna to test smart contracts

Advanced

TrailofbitsApril 10, 2020 13 min

How to use Echidna to automatically test smart contracts

solidity
smart contracts
security
testing
fuzzing

Transfers and approval of ERC-20 tokens from a solidity smart contract

Intermediate

jdourlensApril 7, 2020 7 min

How to use a smart contract to interact with a token using the Solidity language

smart contracts
tokens
solidity
erc-20

Interact with other contracts from Solidity

Advanced

jdourlensApril 5, 2020 4 min

How to deploy a smart contract from an existing contract and interact with it

smart contracts
solidity
remix
deploying
composability

Understand the ERC-20 token smart contract

Beginner

jdourlensApril 5, 2020 5 min

An introduction to deploying your first smart contract on an Ethereum test network

smart contracts
tokens
solidity
erc-20

Deploying your first smart contract

Beginner

jdourlensApril 3, 2020 4 min

An introduction to deploying your first smart contract on an Ethereum test network

smart contracts
remix
solidity
deploying

Logging data from smart contracts with events

Intermediate

jdourlensApril 3, 2020 2 min

An introduction to smart contract events and how you can use them to log data

smart contracts
remix
solidity
events

How to implement an ERC-721 market

Intermediate

Alberto Cuesta CañadaMarch 19, 2020 6 min

How to put tokenized items for sale on a decentralized classifieds board

smart contracts
erc-721
solidity
tokens

How to use Manticore to find bugs in smart contracts

Advanced

TrailofbitsJanuary 13, 2020 11 min

How to use Manticore to automatically find bugs in smart contracts

solidity
smart contracts
security
testing
formal verification

Was this tutorial helpful?