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

38h 47m 24s
English
Paid
August 1, 2024

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

More

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 Solidity & Ethereum in React (Next JS): The Complete Guide

Join premium to watch
Go to premium
# Title Duration
1 Introduction 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

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

Microfrontends with React: A Complete Developer's Guide

Microfrontends with React: A Complete Developer's Guide

Duration 9 hours 2 minutes 34 seconds
React, NextJS and NestJS: A Rapid Guide - Advanced

React, NextJS and NestJS: A Rapid Guide - Advanced

Duration 8 hours 40 minutes 51 seconds
Data fetching with React Server Components

Data fetching with React Server Components

Duration 1 hour 15 minutes 56 seconds
Build a Shopping Cart App

Build a Shopping Cart App

Duration 1 hour 41 minutes 52 seconds
React Query

React Query

Duration 7 hours 1 minute 30 seconds
MERN React Node Next.js Multi User SEO Blogging Platform

MERN React Node Next.js Multi User SEO Blogging Platform

Duration 20 hours 25 minutes 13 seconds
Full Stack Advanced React + GraphQL

Full Stack Advanced React + GraphQL

Duration 15 hours 43 minutes 10 seconds
React Simplified - Next.js

React Simplified - Next.js

Duration 8 hours 56 minutes 9 seconds
Next.JS with Sanity CMS - Serverless Blog App (w/ Vercel)

Next.JS with Sanity CMS - Serverless Blog App (w/ Vercel)

Duration 13 hours 5 minutes 9 seconds