Skip to main content

Solidity & Ethereum in React (Next JS): The Complete Guide

38h 47m 24s
English
Paid

Course description

Create real Smart Contracts in Solidity and DApps with React & Next JS. Understand how the Ethereum blockchain works.

Read more about the course

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 takedown. 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 you can also use it for many different 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 your data or censor you. 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). You can find more details about which languages Solidity has been inspired by in the language influences section.

Solidity is statically typed, 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.

What is this course covering?

The course is covering 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. Smarts contracts are going hand in hand with dApps(decentralized apps). The course is covering them as well.

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

Two real-world applications are created in the course. Every part of application creation is well explained and documented.

Faucet application:

The first application of the course. Students will learn the basics and core knowledge of the Ethereum network by working on practical applications.

The front end of the application is built with React library and Bulma framework, for smart contract creation was used Truffle development environment and Ganache(private blockchain).

Faucet application will enable users to donate and withdraw funds from the smart contract. Users will interact with a smart contract through the website connected to the blockchain network through the Metamask wallet.

The purpose of the first application is to cover the basics while having fun working on something practical.

The most important questions this application is answering are:

  • what is Ethereum (transactions, blockchain)

  • what is EVM (bytecode, storage)

  • how to create smart contracts and dapps

  • how to integrate smart contracts with React

Marketplace application:

This application is covering the creation of an interactive marketplace. Clients of this application will purchase courses(students can choose products of their choice) with Ether digital currency.

With all of the basics covered in the previous application, the focus will be on the practical development part of the Ethereum network. Topics will be more challenging, and lectures will be more practical code-wise.

The second application covers tons of features as few, for example, the marketplace page with real-time updates of Ether currency and course prices compared to the US dollar.

The modal window is dedicated to making orders. Email hashing solution to maintain client's privacy. Order view with order filtering and pagination, and many others.

This application will be built in the Next JS framework with Tailwind as the CSS framework. Next JS is internally using React library. It's straightforward to use and offers SSR(server-side rendering) by default.

SSR offers lots of benefits but also brings few problems in terms of integration with the blockchain.

The entire integration part of Next JS with blockchain is covered, well explained, and documented. The final application will be deployed on the internet. The smart contract will be deployed to the "live" mainet network.

The most mentionable topics covered in this application are:

  • Next js(SSR) Integration with Web3 and Blockchain

  • Creation of more complicated Smart Contract

  • Email hashing and order verification feature

  • Testing solution (tests will cover every feature of the smart contract)

  • Pagination and Filtering of orders

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 277 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Solidity & Ethereum in React (Next JS): The Complete Guide

0:00
/
#1: Introduction

All Course Lessons (277)

#Lesson TitleDurationAccess
1
Introduction Demo
09:35
2
How to approach errors
05:52
3
Init App
09:56
4
Remove React JS content
02:16
5
Terminology
01:01
6
[AI] What is Blockchain
24:15
7
[AI] Smart Contracts
20:20
8
[AI] Miners, Networks, Wallet
06:31
9
[AI] Ethereum Remix
13:02
10
Truffle init
09:01
11
Installing Ganache
12:53
12
First Smart Contract
08:32
13
[AI] Ints
07:42
14
[AI] Int Correction
00:52
15
Migrating Faucet
14:03
16
[AI] Gas fees
08:44
17
[AI] Gas Fees Bonus
15:02
18
[AI] Keccak256
09:55
19
[AI] Function Signiture
05:27
20
[AI] Bits, Hex, Decimal
16:57
21
Access Contract with console
04:03
22
Web3 Interaction part
05:54
23
[AI] EVM & Truffle
10:40
24
Receive function
06:02
25
Send transaction
08:05
26
[AI] etHash and nonce
16:56
27
[AI] Modulo Operator
08:40
28
Blockchain link
02:08
29
[AI] Bytecode instruction
29:20
30
Additional Resources
07:10
31
Add funds
05:05
32
Call function by its signiture
06:12
33
Show function in Remix
06:17
34
Method Calls + JSON RPC
15:39
35
Funders
06:02
36
Get Funders
06:45
37
Public vs External
07:18
38
[AI] Memory details part 1
17:39
39
[AI] Memory details part 2
12:17
40
[AI] Memory & Ascii
10:43
41
[AI] Memory Offset
07:12
42
Private & Internal
04:40
43
[AI] Storage
16:31
44
[AI] Storage Debugging
06:56
45
Funders mapping
06:48
46
Get all funders
07:02
47
Prevent duplications
04:52
48
lutFunders
05:54
49
[AI] Storage mappings
11:21
50
[AI] Keccak256 values
07:30
51
[AI] Storage arrays
08:26
52
Withdraw
07:35
53
Require statement
04:47
54
Modifiers
05:48
55
Only owner
07:19
56
Inheritance
04:28
57
Abstract contract
10:31
58
Interface
08:27
59
Function Accessors
04:13
60
Metamask Installation
15:26
61
Metamask Accounts
11:04
62
[AI] Signing transaction
14:45
63
[AI] Signing transaction+
01:37
64
[AI] nonces
07:06
65
Add Bulma
06:44
66
Enable ethereum
07:33
67
Web3 integration
09:42
68
Get accounts
07:33
69
Request accounts
02:12
70
Get provider
04:29
71
Connect on click
11:53
72
Change contracts dir
03:18
73
Load Contract
07:32
74
Get deployed contract
04:13
75
Load Balance
08:30
76
Add funds
05:43
77
Reload effect
04:14
78
Withdraw func
06:59
79
Handle account changes
03:54
80
Account Lock
06:19
81
No Provider
05:59
82
Provider improvement
04:07
83
Fix Warnings
03:54
84
Check contract load
05:02
85
Chain changed
03:18
86
[AI] Public-Private key
09:06
87
[AI] Reverse engineer TX
16:44
88
[AI] Reverse engineer TX part 2
11:39
89
[AI] Reverse engineer TX part 3
09:09
90
[AI] Transaction Tree
13:57
91
[AI] Radix Tree
13:48
92
[AI] Radix Impl
14:17
93
[AI] Merkle Patricia
22:23
94
[AI] Second Node in Patricia tree
15:40
95
[AI] RLP Merkle
15:31
96
[AI] FInal Hash
08:16
97
Next JS app Init
06:05
98
Tailwind Integration
07:36
99
Compiler options
07:04
100
Init Components
10:44
101
Footer and Navbar
07:11
102
More Components
09:54
103
Remaining Index Components
06:08
104
Course components
07:23
105
Base layout
08:06
106
Base Layout Different
05:56
107
Course Data
11:55
108
Get course data
04:17
109
Course List
05:32
110
Images Improvements
06:33
111
Course detail page
05:37
112
Get single course
06:19
113
Course hero
07:29
114
Lectures and Keypoints
08:30
115
Connect button & Image
06:39
116
web3 provider
10:56
117
Load Provider
07:58
118
Provider loading
02:33
119
Connect to metamask
09:44
120
isWeb3Loaded
04:35
121
Loading button
09:47
122
Disable button
06:57
123
Open page in new window
01:06
124
useAccount
14:34
125
Provider tiny refactor
02:05
126
Use Hooks Abstraction
10:27
127
Get accounts
04:45
128
Navbar account
07:16
129
useAccount event
04:40
130
Display address
04:05
131
Use swr
12:23
132
Is Admin
05:03
133
Hash Admin
03:42
134
Marketplace
06:05
135
Hide address on Marketplace
02:58
136
useNetwork
03:53
137
Network changes
06:51
138
ChainID
07:05
139
Course Card
09:54
140
Target network
05:48
141
Wrong network message
07:07
142
Has Finished First Fetch
08:25
143
Enhance hook
10:31
144
Setup Hooks fix
04:48
145
Require Install
04:07
146
Use Require install
03:11
147
Card Button
04:49
148
Course Card Styling
11:40
149
Modal
03:13
150
Order Modal
04:32
151
Modal Content
03:25
152
Open Modal with Code
08:29
153
Get ETH Price
10:49
154
Eth Price
06:50
155
Price per item
04:59
156
Eth image
06:05
157
Can Purchase
06:41
158
use wallet info
03:08
159
[AI] Hooks Intuition
13:10
160
Breadcrumbs
06:24
161
Marketheader
08:23
162
Market pages
11:24
163
Active Link
08:05
164
Active Link 2
09:29
165
Order Price
07:49
166
Enable Price
07:28
167
Get form data
03:50
168
Form status
08:17
169
Agree TOS
08:23
170
Component changes + Message
15:08
171
Loader 1
08:37
172
Loader 2
06:58
173
Truffle init
10:52
174
Course hash
11:47
175
Store Course
07:51
176
Getter functions
09:58
177
Check course owner
10:29
178
Owner of the contract
04:28
179
Transfer ownership
12:29
180
Remigrate marketplace
01:43
181
LoadContract
08:06
182
Load Contract first solution
10:15
183
Load Contract second solution
11:14
184
Load Contract third solution
12:14
185
Prepare values
14:17
186
Purchase Course
11:56
187
UseOwnedCourses Start
08:13
188
Create web3 state
04:35
189
Owned Courses
11:09
190
Get course by hash in hook
13:46
191
Normalize course
06:20
192
Display owned courses
07:34
193
Course Card styles
08:01
194
Eth rates improvements
14:06
195
Walletbar improvements
12:23
196
Navbar and Filter improvements
08:40
197
Course Status improvement
06:25
198
Card improvements
05:51
199
Use owned course
08:16
200
Check if owner
04:04
201
Course state messages
09:49
202
State curriculum
07:47
203
Check for no courses
07:17
204
Check isEmpty
12:11
205
Check if empty account
07:37
206
Hook improvements
08:18
207
One time event
06:30
208
Handle locked in course
04:48
209
Use managed courses
06:57
210
Fetch managed courses
07:44
211
ManagedCourseCard
11:13
212
Managed card values
08:59
213
Verify identity
09:29
214
Verify Proof
10:29
215
Verification input
05:57
216
Disable managed courses
03:29
217
useAdmin
17:29
218
Activate Course contract
09:02
219
Preparing test
12:24
220
Test course by index
10:21
221
Test course data
06:29
222
Test activation
06:37
223
Catch revert
10:48
224
Transfer ownership test
10:21
225
Repurchase course test
02:08
226
Activate course frontend
09:50
227
Deactivate course
04:54
228
Repurchase course in contract
05:44
229
Deactivate course test
10:28
230
Repurchase course test
11:32
231
Check buyer balance
14:19
232
GetGas abstraction
02:48
233
Check contract balance
05:55
234
Check balance after deactivate
07:39
235
Deactivate course impl
18:28
236
Handle wallet changes
09:07
237
Lookup table
09:49
238
Course states display
08:50
239
Handle Switching Networks
09:15
240
Set Listeners
05:05
241
Repurchase button
02:34
242
Move course state
12:22
243
Button sizes
04:58
244
UX Improvements
04:06
245
Differentiate purchase
06:59
246
Repurchase working
06:57
247
Search input
05:47
248
Search Course
09:05
249
Search course display
09:42
250
State Filters
05:56
251
Display filter courses
06:41
252
Stop contract
08:43
253
Withdraw functions
10:09
254
Test transfer
06:59
255
Test withdraw
10:00
256
Emergency withdraw test
09:55
257
Test Selfdestruct
06:22
258
Ethereum Changes
07:25
259
Get Ropsten Ether
05:08
260
Truffle ropsten config
13:06
261
Setting up infura
10:20
262
Generating mnemonic
12:55
263
Deployment
14:04
264
[AI] Gas fees
18:15
265
Transfer ownership
11:39
266
Test Purchase on Ropsten
04:48
267
React Toastify
09:44
268
Improve toast message
11:56
269
Display toast with tx
04:47
270
Course in Progress
14:24
271
Mutate courses
11:48
272
Mutate repurchase
08:51
273
Pre-deployment
07:32
274
Fix Colors
07:24
275
App Deployment
09:22
276
Testing Application
05:09
277
End of Course
07:25

Unlock unlimited learning

Get instant access to all 276 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Nest.js Microservices: Build & Deploy a Scaleable Backend

Nest.js Microservices: Build & Deploy a Scaleable Backend

Sources: udemy
Nest.js is an incredible backend framework that allows us to build scaleable Nodejs backends with very little complexity. A Microservice architecture is a popul
5 hours 39 minutes 49 seconds
Advanced React Patterns

Advanced React Patterns

Sources: Cosden Solutions
Advanced Patterns React is more than 700 minutes of instructional material focused on learning advanced patterns in React, from preloading...
12 hours 7 minutes 27 seconds
React Fundamentals

React Fundamentals

Sources: ui.dev (ex. Tyler McGinnis)
If you're serious about learning React, there's no better place to do it. Originally launched in 2016, this course has been taken by tens of thousands of developers and maintain...
4 hours 36 minutes 46 seconds
Data fetching with React Server Components

Data fetching with React Server Components

Sources: Build UI
Since its release 10 years ago, React's core APIs have remained surprisingly stable. The original component boundary that supports state and lifecycle methods still works to thi...
1 hour 15 minutes 56 seconds
Build and Deploy a Lovable Clone

Build and Deploy a Lovable Clone

Sources: Code With Antonio
In this course, you will create an AI platform for generating applications from scratch. You will learn how to build fully functional full-stack applications...
10 hours 34 minutes 16 seconds