Mô tả

What is this course covering?

The course covers everything you need to become a blockchain developer. Students of this course will learn what Ethereum blockchain is and how it works on the base level and from a developer's perspective.

Students will learn what smart contracts are and how to create them. Smart contracts are going hand in hand with dApps(decentralized apps). The course covers them as well.

The front end for dApps covered in the course use React library and Next JS framework. CSS and design are built with the help of Bulma and Tailwind frameworks.


Three real-world applications are created in the course.
Faucet Application: This straightforward app encompasses React JS, Solidity, and Ganache. It provides an introduction to the fundamentals.

Marketplace: This advanced application involves Next JS, Solidity, and Ganache, along with deployment to an actual blockchain.

Adopt Pet: A bonus section focusing on React JS, this section utilizes Hardhat to manage the smart contract and deploys it to the Polygon network.

Every part of application creation is well explained and documented.


Faucet application:
The initial application in the course provides students with a hands-on experience to learn the fundamentals and core concepts of the Ethereum network.

The application's frontend is developed using the React library and the Bulma framework. The Truffle development environment and Ganache (a private blockchain) are utilized for smart contract creation.

The faucet application allows users to donate and withdraw funds from the smart contract. Users can interact with the smart contract through a website connected to the blockchain network via the Metamask wallet.

The primary objective of this first application is to provide a practical learning experience while covering the basics in an enjoyable manner.

The application addresses several essential questions, including:

  • Understanding Ethereum, transactions, and the blockchain.

  • Exploring the EVM (Ethereum Virtual Machine) and its components like bytecode and storage.

  • Learning how to create smart contracts and decentralized applications (dapps).

  • Discovering the process of integrating smart contracts with React.


Marketplace application:

This application focuses on building an interactive marketplace where clients can purchase courses using Ether digital currency, allowing students to select their preferred products.

Having covered the basics in the previous application, the emphasis now shifts toward practical development within the Ethereum network. The topics become more challenging, and the lectures revolve around practical coding aspects.

The second application encompasses various features, including a marketplace page that displays real-time updates of Ether currency and course prices compared to the US dollar. Additionally, there is a dedicated modal window for placing orders, an email hashing solution to safeguard client privacy, an order view with filtering and pagination options, and more.

For the development of this application, the Next JS framework is employed, with Tailwind serving as the CSS framework. Next JS internally utilizes the React library, offering ease of use and default server-side rendering (SSR) capabilities.

While SSR brings numerous benefits, it also poses some challenges regarding integration with the blockchain. However, the entire integration process of Next JS with the blockchain is comprehensively covered, explained, and documented. The final application will be deployed on the Internet, and the smart contract will be deployed on the live Sepolia Test Network.

The notable topics covered in this application include:

  • Integrating Next JS (with SSR) with Web3 and the blockchain.

  • Developing a more complex smart contract.

  • Implementing email hashing and order verification features.

  • Providing a testing solution that covers every aspect of the smart contract.

  • Enabling pagination and filtering for orders.


Adopt Pet Application:

As an additional component, this section consolidates the knowledge you have acquired in the course and applies it to a React JS app. Hardhat is utilized for smart contract management, ensuring a clean and straightforward application architecture.

The emphasis is on minimal design and simplicity. By the end of this section, you will have the opportunity to deploy a smart contract to the Polygon blockchain.


What is Ethereum?

Ethereum is a technology that lets you send cryptocurrency to anyone, but in the first place, It also powers applications that everyone can use, and no one can take down. It's the world's programmable blockchain.

Ethereum builds on Bitcoin's innovation, with some big differences.

Both let you use digital money without payment providers or banks. But Ethereum is programmable so that you can use it for many digital assets – even Bitcoin!

This also means Ethereum is for more than payments. It's a marketplace of financial services, games, and apps that can't steal or censor your data. It's the Future.

What is Solidity?

Solidity is an object-oriented, high-level language for implementing smart contracts. Smart contracts are programs that govern the behavior of accounts within the Ethereum state.

Solidity is a curly-bracket language. It is influenced by C++, Python, and JavaScript, and is designed to target the Ethereum Virtual Machine (EVM).

Solidity is statically typed and supports inheritance, libraries, and complex user-defined types, among other features.

With Solidity, you can create contracts for uses such as voting, crowdfunding, blind auctions, and multi-signature wallets.

Bạn sẽ học được gì

Create real-life apps on the blockchain.

Build Smart contracts and DApps with ease.

Understand complex Ethereum topics in practical and fun way

Get complete toolkit to work with any blockhain.

Yêu cầu

  • Base knowledge of React JS.
  • Good to have HTML and CSS knowledge but not a must.

Nội dung khoá học

43 sections

Introduction

3 lectures
Introduction
09:34
New Section Added!
05:03
How to approach errors
05:51

App Setup

3 lectures
Init App
09:55
Remove React JS content
02:15
Terminology
01:00

[AI] Ethereum Essentials

5 lectures
[AI] What is Blockchain
24:14
[AI] Smart Contracts
20:19
[AI] Miners, Networks, Wallet
06:30
[AI] Ethereum Remix
13:01
Quiz
1 question

Private blockchain & Truffle

8 lectures
Important Note - Truffle
00:19
Truffle init
09:00
Installing Ganache
12:51
First Smart Contract
08:31
[AI] Ints
07:41
[AI] Int Correction
00:51
Migrating Faucet
14:01
Quiz
2 questions

[AI] Transaction Details

6 lectures
[AI] Gas fees
08:42
[AI] Gas Fees Bonus
15:01
[AI] Keccak256
09:54
[AI] Function Signiture
05:26
[AI] Bits, Hex, Decimal
16:56
Quiz
2 questions

Access Smart Contract

9 lectures
Access Contract with console
04:02
Web3 Interaction part
05:53
[AI] EVM & Truffle
10:39
Receive function
06:01
Send transaction
08:04
[AI] etHash and nonce
16:55
[AI] Modulo Operator
08:39
Blockchain link
02:07
Quiz
3 questions

About Bytecode

7 lectures
[AI] Bytecode instruction
29:19
Additional Resources
07:09
Add funds
05:04
Call function by its signiture
06:10
Show function in Remix
06:16
Method Calls + JSON RPC
15:38
Quiz
1 question

Smart Contracts Functions

3 lectures
Funders
06:01
Get Funders
06:44
Public vs External
07:17

[AI] Memory

6 lectures
[AI] Memory details part 1
17:37
[AI] Memory details part 2
12:16
[AI] Memory & Ascii
10:42
[AI] Memory Offset
07:11
Private & Internal
04:39
Quiz
2 questions

[AI] Storage

2 lectures
[AI] Storage
16:30
[AI] Storage Debugging
06:55

Mappings

4 lectures
Funders mapping
06:47
Get all funders
07:00
Prevent duplications
04:51
lutFunders
05:53

[AI] Storage part 2

3 lectures
[AI] Storage mappings
11:20
[AI] Keccak256 values
07:29
[AI] Storage arrays
08:25

Solidity features

8 lectures
Withdraw
07:34
Require statement
04:46
Modifiers
05:47
Only owner
07:18
Inheritance
04:27
Abstract contract
10:29
Interface
08:26
Function Accessors
04:12

Metamask

5 lectures
Metamask Installation
15:24
Metamask Accounts
11:03
[AI] Signing transaction
14:44
[AI] Signing transaction+
01:36
[AI] nonces
07:05

Project 1 Application

8 lectures
Add Bulma
06:43
Enable ethereum
07:32
Webpack Issue
00:15
Web3 integration
09:41
Get accounts
07:32
Request accounts
02:11
Get provider
04:28
Connect on click
11:52

Load Contract

8 lectures
Change contracts dir
03:16
Load Contract
07:31
Get deployed contract
04:12
Load Balance
08:29
Add funds
05:42
Reload effect
04:13
Withdraw func
06:58
Handle account changes
03:53

Project 1 - UX Improvements

6 lectures
Account Lock
06:18
No Provider
05:58
Provider improvement
04:06
Fix Warnings
03:53
Check contract load
05:00
Chain changed
03:17

[AI] Transactions

4 lectures
[AI] Public-Private key
09:05
[AI] Reverse engineer TX
16:43
[AI] Reverse engineer TX part 2
11:38
[AI] Reverse engineer TX part 3
09:08

[AI] Merkle Trees

7 lectures
[AI] Transaction Tree
13:56
[AI] Radix Tree
13:47
[AI] Radix Impl
14:16
[AI] Merkle Patricia
22:22
[AI] Second Node in Patricia tree
15:39
[AI] RLP Merkle
15:30
[AI] FInal Hash
08:15

Project 2 (Marketplace) - Next JS

10 lectures
Next JS app Init
06:04
Tailwind Integration
07:35
Compiler options
07:03
Init Components
10:43
Footer and Navbar
07:10
More Components
09:53
Remaining Index Components
06:06
Course components
07:22
Base layout
08:05
Base Layout Different
05:54

Course Related Components

10 lectures
Course Data
11:54
Get course data
04:15
Course List
05:31
Images Improvements
06:32
Important! Next 13 Updates
00:53
Course detail page
05:36
Get single course
06:18
Course hero
07:28
Lectures and Keypoints
08:29
Connect button & Image
06:38

Web3 Provider

12 lectures
web3 provider
10:55
[Note]: Install Web3
00:09
Load Provider
07:57
Provider loading
02:32
Connect to metamask
09:43
isWeb3Loaded
04:34
Loading button
09:46
Disable button
06:56
Open page in new window
01:05
useAccount
14:33
Provider tiny refactor
02:04
Use Hooks Abstraction
10:26

Hooks

9 lectures
Get accounts
04:44
Navbar account
07:15
useAccount event
04:39
Display address
04:04
Use swr
12:22
Is Admin
05:02
Hash Admin
03:41
Marketplace
06:04
Hide address on Marketplace
02:57

Network Hook

11 lectures
useNetwork
03:52
Network changes
06:50
ChainID
07:04
Course Card
09:53
Target network
05:47
Wrong network message
07:06
Has Finished First Fetch
08:24
Enhance hook
10:30
Setup Hooks fix
04:47
Require Install
04:06
Use Require install
03:09

Order

6 lectures
Card Button
04:48
Course Card Styling
11:39
Modal
03:12
Order Modal
04:30
Modal Content
03:24
Open Modal with Code
08:27

Web3 Components

12 lectures
Get ETH Price
10:48
Eth Price
06:49
Price per item
04:57
Eth image
06:04
Can Purchase
06:40
use wallet info
03:07
[AI] Hooks Intuition
13:09
Breadcrumbs
06:23
Marketheader
08:22
Market pages
11:23
Active Link
08:04
Active Link 2
09:28

Finishing Order Form

8 lectures
Order Price
07:48
Enable Price
07:27
Get form data
03:49
Form status
08:16
Agree TOS
08:22
Component changes + Message
15:07
Loader 1
08:36
Loader 2
06:57

Marketplace Contract

8 lectures
Truffle init
10:51
Course hash
11:46
Store Course
07:50
Getter functions
09:57
Check course owner
10:28
Owner of the contract
04:27
Transfer ownership
12:28
Remigrate marketplace
01:42

Contract in Next JS

6 lectures
LoadContract
08:05
Load Contract first solution
10:14
Load Contract second solution
11:13
Load Contract third solution
12:13
Prepare values
14:16
Purchase Course
11:55

Owned Courses

6 lectures
UseOwnedCourses Start
08:12
Create web3 state
04:34
Owned Courses
11:08
Get course by hash in hook
13:45
Normalize course
06:19
Display owned courses
07:33

Style Improvements

6 lectures
Course Card styles
08:00
Eth rates improvements
14:05
Walletbar improvements
12:22
Navbar and Filter improvements
08:39
Course Status improvement
06:24
Card improvements
05:50

Owned Course

10 lectures
Use owned course
08:14
Check if owner
04:03
Course state messages
09:48
State curriculum
07:46
Check for no courses
07:15
Check isEmpty
12:10
Check if empty account
07:36
Hook improvements
08:17
One time event
06:29
Handle locked in course
04:47

Managed Courses

9 lectures
Use managed courses
06:56
Fetch managed courses
07:43
ManagedCourseCard
11:12
Managed card values
08:58
Verify identity
09:27
Verify Proof
10:28
Verification input
05:56
Disable managed courses
03:28
useAdmin
17:28

Unit Tests

8 lectures
Activate Course contract
09:01
Preparing test
12:22
Test course by index
10:20
Test course data
06:28
Test activation
06:36
Catch revert
10:47
Transfer ownership test
10:20
Repurchase course test
02:07

Activate & Deactivate

2 lectures
Activate course frontend
09:49
Deactivate course
04:53

Unit tests - part 2

7 lectures
Repurchase course in contract
05:43
Deactivate course test
10:27
Repurchase course test
11:31
Check buyer balance
14:18
GetGas abstraction
02:47
Check contract balance
05:54
Check balance after deactivate
07:38

Deactivate, Repurchase & UX

12 lectures
Deactivate course impl
18:27
Handle wallet changes
09:06
Lookup table
09:48
Course states display
08:49
Handle Switching Networks
09:14
Set Listeners
05:04
Repurchase button
02:33
Move course state
12:21
Button sizes
04:57
UX Improvements
04:05
Differentiate purchase
06:58
Repurchase working
06:56

Filters

5 lectures
Search input
05:46
Search Course
09:04
Search course display
09:41
State Filters
05:55
Display filter courses
06:40

Withdraw Functions & Tests

6 lectures
Stop contract
08:42
Withdraw functions
10:08
Test transfer
06:58
Test withdraw
09:59
Emergency withdraw test
09:54
Test Selfdestruct
06:21

Smart Contract Deployment

10 lectures
Ethereum Changes
03:05
Get Sepolia Ether
04:00
Truffle Sepolia config
15:32
Sepolia Reminder
00:13
Setting up infura
12:21
Generating mnemonic
12:54
Full Config
00:17
Deployment
14:03
[AI] Gas fees
18:14
Transfer ownership
11:38

App with Ropsten

8 lectures
Sepolia
00:02
Test Purchase on Ropsten
04:47
React Toastify
09:43
Improve toast message
11:55
Display toast with tx
04:46
Course in Progress
14:23
Mutate courses
11:47
Mutate repurchase
08:50

App Deployment

5 lectures
Pre-deployment
07:30
Fix Colors
07:23
App Deployment
09:21
Testing Application
05:08
End of Course
07:24

Bonus: Adopt Pet (Hardhat & Polygon)

44 lectures
Init Proj
07:29
First test
13:15
Ignore more files
05:09
First real test
09:31
Get owner function
02:06
Fixtures
07:39
Add pet and test
09:13
Initial value to constructor
06:15
Adopt pet function
11:24
Out of bounds test
06:11
Pet is already adopted test
03:56
Test adopt pet success
01:39
Console logs
09:34
Test new getters
14:18
Test for zero address
04:46
Create react app
06:45
Base layout
05:01
Seperate code to components
04:04
Get all pets and set them
05:09
Display pets as pet item
04:05
Wallet not detected
05:05
Connect wallet
03:47
Connect wallet function
05:47
Check network
09:28
Add env variable
03:57
Switch network
05:51
Handle account changes.mov
05:05
Change in deployment script
00:33
Deployment of SC
14:24
Save artifacts
14:54
Init contract preparation
03:41
Init contract
09:21
Get adopted pets
11:53
Adopt pet functionality
07:24
Handle tx error
07:10
Disable button
03:28
Tx info
07:32
In Progress
04:35
Set View
05:05
Display pets depending on view
03:45
Display owned pets
14:36
Polygon Mumbai
08:39
Deploy to Polygon
11:30
Testing on Mumbai
16:53

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.