
Learn Ethereum blockchain and Web3 development by building a complete Web3 application using Solidity, ethers.js, Hardhat, and OpenZeppelin, and integrating MetaMask, Pinata, IPFS, and a React frontend.
Enhance your course taking with playback speed adjustments, transcripts, captions, and video quality settings, while reviews help others decide if this is the right course and improve its quality.
Set up your development environment for Ethereum smart contract work by installing Node.js, npm, VS Code, Ganache, Metamask, and Hardhat, then configure networks and import test accounts.
Install Node.js, npm, and Visual Studio Code to set up your Ethereum development environment, explore Ganache as an optional local blockchain and test with Hardhat and Metamask.
Install and configure Metamask, the web3 wallet for Ethereum and compatible chains, create a wallet, connect to mainnet and networks like Hardhat or Ganache, and manage private keys for testing.
Master Hardhat to build NFT smart contracts, configure the toolchain, optimize the Solidity compiler, and add networks for compiling, testing, and deploying on local or remote blockchains.
Learn to create a hardhat project to develop ethereum and evm contracts, set up the local hothead network, install essential packages, and organize contracts, scripts, and tests with mocha.
Download the NFT project source code from GitHub, clone or fetch the zip, and explore the finished project, the practice code with to-dos, and Solidity basics for smart contracts.
Extend the hardhat config by enabling the optimizer (200 runs), configure localhost and test networks, and add etherscan verification using dotenv-managed environment variables.
Configure a .env file with underscore-prefixed keys, copy metamask private keys, create alchemy, pinata, and etherscan keys, and prepare for local hardhat deployment to sepolia.
Explore solidity basics, including value types, reference types, functions, modifiers, events, and inheritance. See how these core features power an OpenZeppelin-based smart contract for building a web3 app.
Explore how smart contracts run on the blockchain, using Solidity, with value and reference types, data locations, events, modifiers, inheritance, libraries, interfaces, and abstract contracts.
Explore the basic layout of a solidity smart contract, including the spx license identifier, pragma solidity, imports from OpenZeppelin erc721, and contract inheritance, plus state variables, events, and constructors.
Explore Solidity value types, including int, uint, bool, address, enums, and fixed-size bytes, with default values and no nulls; learn visibility modifiers and payable addresses, and practice in Remix.
Explore reference types in solidity, including arrays, structs, mappings, strings, and bytes, and understand storage, memory, and call data, plus dynamic versus fixed-size arrays.
Explore Solidity error handling with require, revert, and assert, and learn about atomic transactions, input validation, gas considerations, and custom errors with Natspec comments.
Explain the difference between state-modifying and non-state-modifying functions, including gas fees and transaction requirements. Demonstrate how visibility modifiers and reusable modifiers control access and execution flow in Solidity.
Learn how events in Solidity expose data from state-changing functions via the transaction log, enabling external apps to subscribe. Emit with indexed arguments to create topics for efficient search.
Master solidity inheritance, including multiple inheritance, virtual and override keywords, and super or explicit contract calls. Prepare an NFT contract using the ERC-721 standard from OpenZeppelin.
Explore ERC721 NFTs using OpenZeppelin contracts to build an NFT smart contract from URI storage; compile with hardhat, deploy locally or on the Zeppelin test network, and publish to etherscan.
Explore how to mint non-fungible tokens to a specific recipient address using the ERC721 standard, linking metadata via a URL, and reusing OpenZeppelin's secure contract templates.
Explore OpenZeppelin's ERC721 contracts and the Uri storage extension, learn how to mint NFTs, review key methods and events, and navigate the OpenZeppelin API and GitHub for high-quality smart contracts.
Build an NFT smart contract with ERC721 URI storage, use the Counters library for token IDs, mint by the contract owner, and attach token URI metadata for each minted NFT.
learn to compile and deploy your smart contract locally using hardhat or ganache, create a contract factory, deploy the contract, and retrieve its address.
Deploy your smart contract to the Sepolia test network, pay gas in Sepolia ether, and verify it on ether scan via a Hardhat config using the Zeppelin network and Alchemy.
Verify and publish your solidity code to Etherscan on Sepolia using your API key and prepared config, then run Hardhat compile, node, deploy, and verify commands on scan.
Learn to build a web3 front end that communicates with a deployed smart contract using ethers.js. Mint NFTs, query owner, and transfer by token ID through real-world examples.
Explore a quick overview of ethers.js, including provider, signer, and contract classes, to call contract functions, listen to events, and utilize utilities for encoding, decoding, and big numbers.
Explore the ethers.js provider as the bridge between your frontend and the blockchain, enabling read-only access, local or remote networks, and key methods like getNetwork, getBalance, and getBlockNumber.
Explore the ethers.js signer, including json rpc signer and wallet signer, and how Hardhat auto-selects the right signer. Retrieve balances and addresses, and sign, send, and parse ether, awaiting receipts.
learn how to instantiate an ethers.js contract with address and signer or provider, listen for and filter transfer events, and query past logs using hardhat for an ERC-721 NFT.
Write an NFT minting script that mints tokens, displays the owner of a token id, and transfers a token to another signer across local and Zeppelin networks.
Develop robust smart contracts by testing with Hardhat, Mocha, and Chai, using network helpers to speed tests, and cover non-fungible token contract scenarios before mainnet deployment.
Hothead automatically creates a test folder, where you organize test files with describe and it blocks, using groups like my NFT contract and load fixtures to speed tests.
Explore how Hardhat network helpers and the load fixture restore contract state between tests, avoiding full redeploys by using a contract factory and fixtures.
Write and assert smart contract tests with Hardhat and Chai, using Hardhat matchers, token balance changes, reverts, and event emissions for ERC-721 tokens.
Build a web3 dapp with a React frontend that mints customized NFTs to a recipient, stores metadata on ipfs via pinata, and integrates metamask for secure transactions.
Bootstrap a simple React front end with Vite to interact with blockchain features, including Metamask, NFT metadata on IPFS via Pinata, and calls to a smart contract.
Explore basic structure of a React app for the nft mentor project, including node_modules, public, and src folders, and the App component with a count state using a React hook.
Merge the Hardhat and React projects into one by copying the NFT project's src and public folders, updating dependencies and scripts, and running npm install.
Learn how to communicate with MetaMask from a web3 app using the Ethereum object and JSON-RPC to enable accounts, send transactions, and listen for account changes.
Connect your dapp to metamask and authorize accounts for use with your web3 frontend by initializing a provider, signer, and contract instance with the contract address and abi.
Pin NFT metadata to IPFS using Pinata, ensuring data persistence, fast retrieval, and nearly unlimited storage, then obtain the IPFS hash URL for your dApp.
Create and pin custom nft metadata to ipfs via Pinata, then encode the function data and send a mint nft transaction to MetaMask.
Builds the NFT minting app user interface as a single component. Integrates blockchain helper functions, manages wallet state with useState and useEffect, and uses controlled inputs for image, name, description.
Test your app on a local Hardhat node, deploy the contract, mint NFT with name, description, and image URL via MetaMask, then verify the transaction on Sepolia.
Add your project to a local git repository, commit changes, and prepare to push to a remote GitHub repository by initializing git, creating a gitignore, and staging updates.
learn to push your local git project to GitHub by creating a repository, adding a remote origin, and pushing changes with git add, commit, and push to main.
This course is ideal for you, if you are looking for a quickstart into the fascinating world of blockchain and Web3 development.
Build a complete Web3 app that uses the most in-demant tools and technologies...
You will be building a complete Web3 application that is relatively simple, but integrates all tools, technologies and methodologies that are currently used by the biggest and most well-known applications in the blockchain industry.
Some of those tools and technologies are...
Solidity, Ethers.js, Hardhat, OpenZeppelin, MetaMask RPC API, IPFS, Pinata API, Etherscan, React + Vite, Remix, Sepolia...
We'll focus on the essentials...
The features you'll be using on a daily basis as a professional Blockchain / Web3 developer... And, we won't worry about all the smaller details you'll almost never need.
Of course, every professional Web3 projects has its particularities and you sometimes you will be forced to dig really deep. No course in this world can cover the nearly infinite amount of challenges you may encounter - not even the ones that contain 100+ hours of content...
You'll get a rock-solid foundation as Ethereum/Web3 developer...
The goal of this course is to introduce you to all major tools and technologies and to provide you with a rock-solid foundation. From there, you will easily be able to go further, to dig deeper and to find the solutions to your programming challenges.
I'm not a big fan of spending weeks and even months going through lengthy training courses and that's why I tried my best to keep this course as short and concise as possible without neglecting any of the really important stuff.
I recommend, you acquire the basics and fundamentals as quickly as possible... and then you actually start building stuff and have fun solving those challenges you will encounter in real-world projects...
And, that's exactly what this course has been designed for!
A a step-by-step blueprint to build real-world Blockchain apps...
In short, you get a step-by-step blueprint that provides you with all the knowledge you need in order to successfully build complex, real-world, decentralized applications (Dapps) for the Ethereum blockchain.
The tools and technologies you'll be using
Solidity - Smart Contract Programming Language
Hardhat - Smart Contract Development Environment & Local Developer Blockchain
Ethers.js - JavaScript Library for Interacting with the Ethereum Blockchain
OpenZeppelin - Open-Source Framework for Building Secure Smart Contracts
Sepolia - Ethereum Test Network (Running PoS)
React & Vite - JavaScript Frontend Library & Build Tool
IPFS & Pinata API - Decentralized File Storage & Media Pinning Service
MetaMask RPC API - Protocol that allows MetaMask to Communicate with Ethereum and EVM Compatible Blockchains
Remix - Browser-based Solidity Compiler & IDE
Etherscan - Block Explorer and Analytics Platform
Git & Github - Source Code Version Control System
This is much more than just a regular video course...
Of course, you get the complete source code of the finished project (smart contracts, Hardhat scripts and React frontend).
You also get an unfinished "Practice-Project". This project already contains all non-blockchain relevant code (like HTML, CSS...) and you have to provide all blockchain related features you'll learn throughout the course. I provide you with detailed comments (//TODO blocks in code) so, you know exactly, what kind of feature needs to be provided and where it needs to be provided.
In the Solidity section of the course we'll be coding various simple smart contracts for all important Solidity topics and there will also be several assignments. And, yes, you also get the code for those smart contracts as well as for the solutions for the assignments.
I also understand, not everyone is a visual-only learner. Some people prefer written content and that's why I also provide you with several written documents...
You get the entire course manual that provides you with everything you learn throughout the course in written form: discussion of the various tools and technologies we are using, code analysis, important Hardhat, Node.js, Git... commands, links to important websites, screenshots...
You also get several "Quick-Guides" for the most important technologies we are using, like Ethers.js, Hardhat MetaMask RPC API... and there are a few others. Sometimes it's a bit complicated and tedious to find what you are looking for in the official docs of those technologies and that's why I distilled the most important features, classes, methods and properties - the ones you need on a daily basis as a blockchain developer - for you.