Skip to main content

Ethereum Development Tutorials

Welcome to our curated list of community tutorials.

Learn Smart Contract Auditing, Security, and DeFi

Advanced

✍️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.

soliditysmart contractsvideooraclesfoundrydefifuzzing
(opens in a new tab)

Some tricks used by scam tokens and how to detect them

Intermediate

✍️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.

scamsolidityerc-20javascripttypescript

Learn Solidity, Blockchain Development, & Smart Contracts using Foundry

Beginner

✍️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!

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

Formal Verification & Symbolic Execution

Intermediate

✍️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.

security
(opens in a new tab)

Fuzzing & Invariant Testing Introduction

Beginner

✍️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.

security
(opens in a new tab)

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

Intermediate

✍️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.

clientsnodessmart contractscomposabilityconsensus layerexecution layertesting

What is a Smart Contract Audit

Beginner

✍️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!

security
(opens in a new tab)

devpill.me

Beginner

✍️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.

frontendbackendsmart contractssolidity
(opens in a new tab)

EIP-1271: Signing and Verifying Smart Contract Signatures

Intermediate

✍️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.

eip-1271smart contractsverifyingsigning

All you can cache

Intermediate

✍️Ori Pomerantz📆 September 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 Pomerantz📆 August 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

✍️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

clientsexecution layerconsensus layernodes

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

Beginner

✍️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!

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

Understanding the Yellow Paper's EVM Specifications

Intermediate

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

evm

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

Beginner

✍️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!

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

Short ABIs for Calldata Optimization

Intermediate

✍️Ori Pomerantz📆 April 1, 2022 ⏱️15 min

Optimizing smart contracts for Optimistic Rollups

layer 2

Optimism standard bridge contract walkthrough

Intermediate

✍️Ori Pomerantz📆 March 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 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.

solidityfoundryvideo
(opens in a new tab)

How to build an on-chain DAO

Beginner

✍️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.

soliditytypescripthardhatdefidaovideo
(opens in a new tab)

How to build an on-chain DAO

Beginner

✍️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.

soliditytypescripthardhatdefidao
(opens in a new tab)

How to Connect your Smart Contracts to Metamask

Beginner

✍️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.

solidityjavascripthardhatnextjsmoralisethersjsvideo
(opens in a new tab)

Full Stack Web3 — Everything You Need to Know

Beginner

✍️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.

solidityjavascripthardhatnextjsmoralisweb3modalethersjs
(opens in a new tab)

Merkle proofs for offline data integrity

Advanced

✍️Ori Pomerantz📆 December 30, 2021 ⏱️10 min

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

storage

Reverse Engineering a Contract

Advanced

✍️Ori Pomerantz📆 December 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 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

solidityeventshardhatbrowniesmart contractsjavascriptpython
(opens in a new tab)

How to become a blockchain engineer

Beginner

✍️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.

solidity
(opens in a new tab)

Hello World Smart Contract for Beginners - Fullstack

Beginner

✍️nstrike2📆 October 25, 2021 ⏱️45 min

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

solidityhardhatalchemysmart contractsdeployingblockexplorerfrontendtransactions

What is Multicall?

Intermediate

✍️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.

brownieweb3.pyvideopython
(opens in a new tab)

NFT Minter Tutorial

Intermediate

✍️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.

soliditynftalchemysmart contractsfrontendpinata

Solidity, Blockchain, and Smart Contract Course

Beginner

✍️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.

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

How to make NFT Art with On-Chain Metadata

Beginner

✍️Patrick Collins📆 September 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 Dabit📆 August 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 Griffith📆 August 15, 2021NaN 🔗External

Build, test and ship your own decentralized staking app!

soliditysmart contractsreacttesting
(opens in a new tab)

Simple NFT Example

Beginner

✍️Austin Griffith📆 August 3, 2021NaN 🔗External

Build, mint, and send around your own ERC721!

soliditysmart contractsreact
(opens in a new tab)

Leveraged Trading in DeFi

Beginner

✍️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

solidityweb3.pybrowniedefismart contractspythonvideo
(opens in a new tab)

How to Set Up Tellor as your Oracle

Beginner

✍️Tellor📆 June 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

✍️Hardhat📆 June 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 Collins📆 May 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 Collins📆 May 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 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).

sqlqueryingtransactions

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

Beginner

✍️Patrick Collins📆 May 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 Pomerantz📆 May 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 Collins📆 April 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 Mudgil📆 April 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 Mudgil📆 April 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 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).

erc-721alchemysoliditysmart contracts

Sending Tokens Using ethers.js

Beginner

✍️Kim YongJun📆 April 6, 2021 ⏱️2 min

Beginner friendly guide to sending tokens using ethers.js.

ethers.jserc-20tokens

Vyper ERC-721 Contract Walkthrough

Beginner

✍️Ori Pomerantz📆 April 1, 2021 ⏱️20 min

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

vypererc-721python

Hello World Smart Contract for Beginners

Beginner

✍️elanh📆 March 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 Pomerantz📆 March 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 Kowalska📆 February 26, 2021 ⏱️6 min

Tutorial for beginners

smart contractssoliditywaffletesting

Monitoring Geth with InfluxDB and Grafana

Intermediate

✍️Mario Havel📆 January 13, 2021 ⏱️4 min

clientsnodes

How to Fetch the Current Price of Ethereum in Solidity

Beginner

✍️Harry Papacharissiou📆 January 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

✍️strykerin📆 December 31, 2020 ⏱️11 min

Deposit ERC20 tokens to the smart contract and mint Farm Tokens

soliditydefiweb3.jstruffleganachesmart contracts

Using WebSockets

Beginner

✍️Elan Halpern📆 December 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 Izdebski📆 November 14, 2020 ⏱️7 min

Advanced Waffle tutorial for using dynamic mocking and testing contract calls

wafflesmart contractssoliditytestingmocking

Sending Transactions Using Web3

Beginner

✍️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.

transactionsweb3.jsalchemy

Getting Started with Ethereum Development

Beginner

✍️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!

javascriptethers.jsnodesqueryingalchemy

Testing ERC-20 tokens with Waffle

Intermediate

✍️Vladislav Starostenko📆 October 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

✍️MiZiet📆 October 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 Garreau📆 September 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

✍️Trailofbits📆 September 7, 2020 ⏱️6 min

An overview of three different testing and program analysis techniques

soliditysmart contractssecurity

Smart contract security checklist

Intermediate

✍️Trailofbits📆 September 7, 2020 ⏱️2 min

A suggested workflow for writing secure smart contracts

smart contractssecuritysolidity

Smart contract security guidelines

Intermediate

✍️Trailofbits📆 September 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 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.

soliditysmart contractsqueryingthe graphcreate-eth-appreact

Token integration checklist

Intermediate

✍️Trailofbits📆 August 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 Waas📆 June 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

✍️Trailofbits📆 June 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 Waas📆 June 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 Waas📆 May 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 Waas📆 April 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

✍️jdourlens📆 April 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

✍️jdourlens📆 April 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

✍️Trailofbits📆 April 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

✍️jdourlens📆 April 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

✍️jdourlens📆 April 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

✍️jdourlens📆 April 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

✍️jdourlens📆 April 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

✍️jdourlens📆 April 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ñada📆 March 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

✍️Trailofbits📆 January 13, 2020 ⏱️11 min

How to use Manticore to automatically find bugs in smart contracts

soliditysmart contractssecuritytestingformal verification

Was this tutorial helpful?