Web3 learning hub Real-world guides

Hands-on web3 guides for builders who hate boring theory.

Short, practical guides that feel like pair-programming with a senior Solidity dev: Hardhat scripts, Foundry tests, OpenZeppelin patterns, security checklists and more.

Hardhat, Foundry & OpenZeppelin in one place
Realistic workflows, not toy examples
scripts/deploy.ts Hardhat
// Deploy ERC20 with Hardhat import { ethers } from "hardhat"; async function main() { const Token = await ethers.getContractFactory("MyToken"); const token = await Token.deploy(1_000_000n); await token.waitForDeployment(); console.log("Token at:", await token.getAddress()); }
$ forge test -vvv
PASS testFuzz_Increment (gas: 30215)
PASS test_RevertOnZero (gas: 18452)
Logs: max fuzz runs: 256

You ship contracts. Tests guard the money.
Guides library

Pick a guide and build something real.

These guides are designed to be followed in a single sitting. You’ll end each one with a working contract, tests and a deployment.

From docs to practice

Each guide mirrors a real-world task.

These aren’t made-up examples. They’re the same patterns you’ll use in client work, hackathons or your own protocol.

Deploy like a pro, even as a beginner

Learn how to structure Hardhat scripts so you can reuse them across projects: clean configs, named accounts, environment variables and safety checks before mainnet.

Open “Deployment workflow” guide
HH
L1

Testing isn’t optional when money is involved

Get comfortable with Foundry’s testing style: cheats, time travel, fuzzing, and invariants that encode “this protocol must never do X”.

Open “Foundry testing crash course”
FZ
INV

Security patterns, without the fear

Understand common pitfalls like reentrancy, unsafe external calls and broken access control — and see how OpenZeppelin helps avoid them.

Open “Security essentials” guide
ACL
RE
Learning paths

Choose how deep you want to go.

Follow one of these paths if you don’t want to think about where to start. Just open the next guide and keep going.

Path 1

Beginner: from zero to first deployment

Level 1 • Basics
  • Set up Hardhat + VSCode + Node.js.
  • Deploy a simple “HelloWorld” contract.
  • Create and deploy an ERC-20 with OZ.
  • Add a single Foundry test suite.
Path 2

Solidity dev: shipping production dApps

Level 2 • Product
  • Use roles and ACL with AccessControl.
  • Integrate a DeFi protocol (e.g. lending).
  • Write Foundry tests for edge cases.
  • Deploy staged upgrades safely.
Path 3

Protocol engineer: thinking in invariants

Level 3 • Deep
  • Design a state machine for a simple AMM.
  • Capture properties as invariants.
  • Fuzz user actions and time jumps.
  • Analyze gas and griefing vectors.
Mental model

Think of your stack as layers, not tools fighting each other.

Hardhat gives you a friendly interface to your contracts: scripts, deployments, tasks and plugin ecosystem. Foundry lets you stress-test the same contracts with native Solidity tests.

OpenZeppelin provides secure building blocks that sit at the very core. Your job is to wire these layers together in a way that is safe, simple and transparent for users.

HH
FDR
OZ
Step-by-step

A realistic “hello world” for web3.

Here’s what a minimal but serious first project looks like. Several guides walk you through each step in detail.

1

Set up Hardhat & project structure

Initialize a TypeScript Hardhat project, configure networks and create a clean folder layout for contracts, scripts and tests.

2

Write a minimal token or vault

Use OpenZeppelin for ERC-20 or simple vault logic. Keep the contract small, readable and easy to reason about.

3

Add Foundry tests for critical paths

Mirror the core behaviors: deposits, withdrawals, role changes. Use asserts, fuzz tests and edge-case scenarios.

4

Deploy to testnet & review on explorer

Run a Hardhat script to deploy to Sepolia, verify the contract, and use a block explorer to inspect state and events.