Skip to main content

Ethereum Development Tutorials

Welcome to our curated list of community tutorials.

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.

soliditysmart contractsvideooraclesfoundrydefifuzzing
(opens in a new tab)

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.

typescriptreactvitewagmifrontend

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.

scamsolidityerc-20javascripttypescript

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!

soliditysmart contractsvideooraclesnfterc-20foundrymockingtestingdefiopenzeppelinslitherstoragealchemyblock explorerfuzzing
(opens in a new tab)

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
(opens in a new tab)

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
(opens in a new tab)

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.

clientsnodessmart contractscomposabilityconsensus layerexecution layertesting

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
(opens in a new tab)

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.

soliditysmart contractserc-721
(opens in a new tab)

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.

soliditysmart contractserc-721nft
(opens in a new tab)

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.

javascriptfrontend
(opens in a new tab)

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.

solidityoraclesjavascript
(opens in a new tab)

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.

frontendbackendsmart contractssolidity
(opens in a new tab)

Learn EVM Opcodes Series

Beginner

Engin YILMAZ @veridelisiMarch 8, 2023NaN External

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

opcodesfoundrysmart contractssolidityyulstoragememory
(opens in a new tab)

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-1271smart contractsverifyingsigning

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 2cachingstorage

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

clientsexecution layerconsensus layernodes

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!

solidityhardhatethersjssmart contractsreactnextjsvideooraclesnfterc-20javascriptmockingtestingdefiopenzeppelinslitherstoragemoralisalchemythe graphpinatablock explorer
(opens in a new tab)

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!

solidityremixethersjssmart contractsopenzeppelinalchemyvideonfterc-721alchemyblock explorer
(opens in a new tab)

Short ABIs for Calldata Optimization

Intermediate

Ori PomerantzApril 1, 2022 15 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?

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

solidityfoundryvideo
(opens in a new tab)

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.

soliditytypescripthardhatdefidaovideo
(opens in a new tab)

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.

soliditytypescripthardhatdefidao
(opens in a new tab)

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.

solidityjavascripthardhatnextjsmoralisethersjsvideo
(opens in a new tab)

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.

solidityjavascripthardhatnextjsmoralisweb3modalethersjs
(opens in a new tab)

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

evmopcodes

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

solidityeventshardhatbrowniesmart contractsjavascriptpython
(opens in a new tab)

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
(opens in a new tab)

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.

solidityhardhatalchemysmart contractsdeployingblockexplorerfrontendtransactions

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.

brownieweb3.pyvideopython
(opens in a new tab)

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.

soliditynftalchemysmart contractsfrontendpinata

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.

soliditybrownieweb3.pysmart contractsreactvideostorageoraclesnfterc-20pythonmockingtestingganache
(opens in a new tab)

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.

solidityethers.jshardhatnftsmart contractsjavascriptvideo
(opens in a new tab)

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

solidityhardhatethers.jssmart contractsreact
(opens in a new tab)

Decentralized Staking App

Beginner

Austin GriffithAugust 15, 2021NaN External

Build, test and ship your own decentralized staking app!

soliditysmart contractsreacttesting
(opens in a new tab)

Simple NFT Example

Beginner

Austin GriffithAugust 3, 2021NaN External

Build, mint, and send around your own ERC721!

soliditysmart contractsreact
(opens in a new tab)

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

solidityweb3.pybrowniedefismart contractspythonvideo
(opens in a new tab)

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

soliditysmart contractsoracles

Hardhat's tutorial for beginners

Beginner

HardhatJune 22, 2021NaN External

Hardhat's beginners guide to Ethereum contracts and dapp development

hardhatsoliditytestingsmart contracts
(opens in a new tab)

Aave Flash Loan Tutorial

Intermediate

Patrick CollinsMay 24, 2021 30 min External

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

solidityweb3.pybrowniesmart contractspythonopenzeppelinproxiesvideo
(opens in a new tab)

Create your own Blockchain ERC20 Token

Beginner

Patrick CollinsMay 24, 2021 30 min External

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

solidityweb3.pybrowniesmart contractspythonopenzeppelinerc-20video
(opens in a new tab)

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

sqlqueryingtransactions

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.

solidityweb3.pybrowniesmart contractspythonopenzeppelinvideo
(opens in a new tab)

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.

solidityweb3.pybrowniesmart contractspythonvideodefi
(opens in a new tab)

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-721alchemysoliditysmart 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-721alchemysolidity

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-721alchemysoliditysmart contracts

Sending Tokens Using ethers.js

Beginner

Kim YongJunApril 6, 2021 2 min

Beginner friendly guide to sending tokens using ethers.js.

ethers.jserc-20tokens

Vyper ERC-721 Contract Walkthrough

Beginner

Ori PomerantzApril 1, 2021 20 min

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

vypererc-721python

Hello World Smart Contract for Beginners

Beginner

elanhMarch 31, 2021 12 min

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

solidityhardhatalchemysmart contractsdeploying

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?

solidityerc-20

Testing simple smart contract with Waffle library

Beginner

Ewa KowalskaFebruary 26, 2021 6 min

Tutorial for beginners

smart contractssoliditywaffletesting

Monitoring Geth with InfluxDB and Grafana

Intermediate

Mario HavelJanuary 13, 2021 4 min

clientsnodes

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.

solidityoracles
(opens in a new tab)

Create and deploy a DeFi App

Intermediate

strykerinDecember 31, 2020 11 min

Deposit ERC20 tokens to the smart contract and mint Farm Tokens

soliditydefiweb3.jstruffleganachesmart contracts

Using WebSockets

Beginner

Elan HalpernDecember 1, 2020 6 min

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

alchemywebsocketsqueryingjavascript

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

wafflesmart contractssoliditytestingmocking

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.

transactionsweb3.jsalchemy

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!

javascriptethers.jsnodesqueryingalchemy

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.

wafflesmart contractssoliditytestingerc-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

wafflesmart contractssoliditytestinghardhatethers.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

pythonweb3.py

A guide to smart contract security tools

Intermediate

TrailofbitsSeptember 7, 2020 6 min

An overview of three different testing and program analysis techniques

soliditysmart contractssecurity

Smart contract security checklist

Intermediate

TrailofbitsSeptember 7, 2020 2 min

A suggested workflow for writing secure smart contracts

smart contractssecuritysolidity

Smart contract security guidelines

Intermediate

TrailofbitsSeptember 6, 2020 4 min

A checklist of security guidelines to consider when building your dapp

soliditysmart contractssecurity

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.

soliditysmart contractsqueryingthe graphcreate-eth-appreact

Token integration checklist

Intermediate

TrailofbitsAugust 13, 2020 4 min

A checklist of things to consider when interacting with tokens

soliditysmart contractssecuritytokens

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?

soliditysmart contractsstoragetruffle

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

soliditysmart contractssecuritytestingstatic analysis

Solidity and Truffle continuous integration setup

Intermediate

Markus WaasJune 5, 2020 4 min

How to setup Travis or Circle CI for Truffle testing along with useful plugins

soliditysmart contractstestingtruffleganache

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

soliditysmart contractstestingmocking

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-appfrontendjavascriptethers.jsthe graphdefi

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

transactionsfrontendjavascriptweb3.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.jsjavascript

How to use Echidna to test smart contracts

Advanced

TrailofbitsApril 10, 2020 13 min

How to use Echidna to automatically test smart contracts

soliditysmart contractssecuritytestingfuzzing

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 contractstokenssolidityerc-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 contractssolidityremixdeployingcomposability

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 contractstokenssolidityerc-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 contractsremixsoliditydeploying

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 contractsremixsolidityevents

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 contractserc-721soliditytokens

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

soliditysmart contractssecuritytestingformal verification

Was this tutorial helpful?