Ethereum and Solidity: The Complete Developer's Guide

23h 39m 42s
English
Paid
July 20, 2024

Smart Contracts? They're here.  The Ethereum Blockchain?  Covered.  Solidity?  Yep! There can be no understating it: Ethereum and Blockchain technology is the most disruptive force in years.  Companies cannot hire developers who understand blockchain technologies fast enough, but there are a tiny number of resources published to help you truly understand what blockchains are used for, let alone build apps with them.  

More

That's the purpose of this course: to be the best resource online for learning about Ethereum, blockchains, and how to build apps with this new technology.

The development community is still figuring out the best way to use Ethereum in the creation of new and exciting apps.  I spent a tremendous amount of time to research and create best practice for interfacing with Ethereum from Javascript.  I can't overstate it enough; this course will show you the best and most easily repeatable patterns for creating production-ready apps with Ethereum.

What tools and libraries are used?

The Ethereum tech ecosystem is in constant change.  Don't be fooled by other courses that mention how you'll learn a dozen different libraries!  Every library that you'll use with Ethereum breaks and is deprecated on a near-weekly basis!  Instead, this course will teach you how to assemble your own boilerplate package to develop, compile, and test Smart Contracts.  By learning the core technologies, you'll be prepared to adjust to Ethereum no matter how the ecosystem changes.

What is Ethereum?

Ethereum is a cryptocurrency much like Bitcoin, and it has been heralded as Bitcoins successor.  Whereas Bitcoin currently has issues scaling with an increasing backlog of transactions, Ethereum is poised to surpass Bitcoin in performance, popularity, and value.  Ethereum was created to help developers like you create applications focused around transferring money or value from one party to another.

What is Solidity?

Solidity is a programming language for writing Smart Contracts.  Essentially, think of it as a way to control a bank account with code.  With Solidity, we can write applications that simulate a crowd funding campaign, a lottery, a loan, or any other type of financial instrument.  Don't be intimidated by learning 'another' programming language; Solidity is known to be quite similar to Javascript and exceptionally easy to pick up for anyone who has previous JS experience.  This course will give you all the tools you need to master Solidity.

Requirements:
  • Basic Knowledge of Javascript and NPM
  • A Mac, PC, or Linux Machine
Who this course is for:
  • Programmers looking to leverage blockchain technology for advanced apps
  • Engineers who want to understand Ethereum and how to build apps with it

What you'll learn:

  • Understand the why engineers would want to create an app with Ethereum
  • Build compelling blockchain applications using the Ethereum Blockchain
  • Design, test, and deploy secure Smart Contracts
  • Learn the true purpose and capabilities of Ethereum and Solidity
  • Use the latest version of Ethereum development tools (Web3 v1.0)
  • See practical examples to comprehend what the blockchain and mining are

Watch Online Ethereum and Solidity: The Complete Developer's Guide

Join premium to watch
Go to premium
# Title Duration
1 Introduction 03:45
2 A Short History Lesson 04:14
3 What is Ethereum? 04:17
4 Interfacing with Ethereum Networks 02:43
5 Ethereum Accounts 05:23
6 What's a Transaction? 07:44
7 Why'd We Wait? 05:01
8 Basic Blockchains 17:50
9 Block Time 10:50
10 Smart Contracts 06:56
11 The Solidity Programming Language 05:04
12 Our First Contract 05:42
13 Contract Structure 05:40
14 Function Declarations 09:00
15 Testing with Remix 10:58
16 Redeploying Contracts 02:35
17 Behind the Scenes of Deployment 05:44
18 More on Running Functions Than You Want to Know 14:16
19 Wei vs Ether 04:08
20 Gas and Transactions 11:25
21 Mnemonic Phrases 11:29
22 We Need More Test Ether! 00:50
23 Contract Deployment 05:32
24 Project Requirements 05:10
25 Project File Walkthrough 04:33
26 Compiling Solidity 06:23
27 The Compile Script 06:11
28 Testing Architecture 03:49
29 Installing Modules 04:16
30 Web3 Versioning 04:19
31 Web3 Providers 04:48
32 Testing with Mocha 18:17
33 Mocha Structure 04:45
34 Fetching Accounts from Ganache 06:44
35 Refactor to Async/Await 02:40
36 Deployment with Web3 06:12
37 Deployed Inbox Overview 11:19
38 Asserting Deployment 05:23
39 Verifying the Initial Message 08:26
40 Testing Message Updates 06:25
41 Deployment with Infura 06:58
42 Wallet Provider Setup 06:41
43 Deployment to Testnet 07:22
44 Observing Deployment on Etherscan 04:52
45 Deployed Contracts in Remix 07:14
46 Project Review 09:28
47 The Lottery Contract 02:37
48 Lottery Design 02:51
49 Basic Solidity Types 09:44
50 Starting the Lottery Contract 04:45
51 The Message Global Variable 05:54
52 Overview of Arrays 11:07
53 Overview of Mappings and Structs 03:43
54 Big Solidity Gotcha 06:29
55 Entering the Lottery 03:58
56 Validation with Require Statements 09:49
57 The Remix Debugger 04:04
58 Pseudo Random Number Generator 10:35
59 Selecting a Winner 04:59
60 Sending Ether from Contracts 05:09
61 Resetting Contract State 04:08
62 Requiring Managers 05:04
63 Function Modifiers 06:19
64 Returning Players Array 02:14
65 Contract Review 02:52
66 New Test Setup 03:05
67 Test Project Updates 02:05
68 Test Helper Review 04:34
69 Asserting Deployment 02:55
70 Entering the Lottery 06:28
71 Asserting Multiple Players 02:40
72 Try-Catch Assertions 05:58
73 Testing Function Modifiers 03:30
74 End to End Test 11:05
75 Ethereum App Architecture 09:21
76 Application Overview 07:57
77 Getting Started with Create-React-App 02:37
78 Multiple Web3 Instances 08:43
79 Web3 Setup 06:10
80 Deploying the Lottery Contract 05:33
81 Local Contract Instances 06:27
82 Rendering Contract Data 07:05
83 Instance Properties 01:59
84 Accessing More Properties 05:34
85 The 'Enter' Form 03:51
86 Form Setup 06:48
87 Entering the Lottery 06:36
88 Picking a Winner 08:35
89 Project Review 03:08
90 Solving Real Problems with Contracts 06:02
91 Fixing Kickstarter's Issues 07:49
92 Campaign Contract Design 09:06
93 Campaign Constructor 04:17
94 Contributing to the Campaign 03:08
95 A Quick Test 02:14
96 The Request Struct 08:59
97 More on Function Modifiers 05:16
98 Creating Struct Instances 05:34
99 Instance Creation Syntax 09:32
100 Storage and Memory 06:28
101 More on Storage vs Memory 16:24
102 Voting System Requirements 02:50
103 The Wrong Voting System 05:13
104 Issues with Arrays 06:15
105 Mappings vs Arrays 04:02
106 Basics of Mappings 11:09
107 Refactoring to Mappings 06:46
108 Refactoring Request Stucts 02:16
109 More on Struct Initialization 02:53
110 Approving a Request 07:54
111 Testing Request Approvals 05:23
112 Finalizing a Request 07:25
113 Last Remix Test 03:04
114 Thinking about Deployment 09:47
115 Solution to Deployment 06:34
116 Adding a Campaign Factory 07:54
117 Testing the Factory 03:28
118 Project Setup 02:18
119 Directory Structure 02:57
120 A Better Compile Script 04:42
121 Single Run Compilation 08:47
122 More on Compile 06:21
123 Test File Setup 08:22
124 Creating Campaign Instances 10:20
125 Testing Warmup 03:12
126 Accessing Mappings 09:56
127 Requiring Minimum Contributions 03:14
128 Array Getters 06:08
129 One End to End Test 13:01
130 Deployment 02:17
131 Refactoring Deployment 06:06
132 App Mockups 11:06
133 CRA vs Next 05:00
134 Next's Pages Architecture 05:09
135 Basics of Next Routing 04:52
136 Root Routes 05:24
137 CampaignFactory Instance 07:13
138 Getting a Test Campaign 05:36
139 Fetching Deployed Campaigns 06:28
140 Why Next.js, Anyways? 09:51
141 Server vs Client Web3 Instances 10:42
142 GetInitialProps Function 10:15
143 Semantic UI React 05:50
144 Card Group Setup 06:42
145 Rendering Card Groups 06:11
146 Adding CSS 04:41
147 Adding a Button 06:48
148 The Need for a Layout 06:17
149 The Layout Component 07:14
150 Assembling a Header 07:36
151 Constraining Content Width 04:29
152 Two Column Layout 01:59
153 Nested Routing 04:28
154 Final CSS Fix 05:21
155 Form Creation 04:32
156 Input Change Handlers 06:21
157 Form Submittal 05:59
158 Testing Submittal 03:45
159 Form Error Handling 12:50
160 Button Spinners 06:57
161 Routing Issues 03:14
162 Next Routes Setup 10:55
163 Automatic Navigation 04:44
164 Header Navigation 05:53
165 Routing to Campaigns 05:53
166 Route Mappings 07:02
167 Planning CampaignShow 04:00
168 Redeploying CampaignFactory 08:54
169 CampaignShow's GetInitialProps 07:11
170 Accessing a Campaign 08:04
171 Summary Translation Layer 04:16
172 Custom Card Groups 07:45
173 One Card Per Property 04:39
174 The Contribute Form 07:23
175 Grid Layouts 04:08
176 Form State 02:45
177 Communicating the Campaign Address 04:25
178 Making a Contribution 04:56
179 Refreshing Contract Data 06:18
180 Spinners and Error Handlers 04:57
181 Listing Requests 06:30
182 Grids vs Columns 03:37
183 More Routing! 08:33
184 Request Creation Form 10:36
185 Creating a Request 09:52
186 Form Polish 07:44
187 Creating a Request 01:13
188 Requests One by One 03:33
189 Fancy Javascript 07:36
190 Rendering a Table 03:23
191 Request Row Component 06:18
192 Request Row Content 07:24
193 Approvers Count Cell 05:52
194 Approving a Request 06:59
195 Finalizing Requests 05:20
196 Testing Finalization 02:34
197 Row Status Styling 06:46
198 Finishing Requests Index 02:31
199 Wrapup 00:45
200 Purpose of Boilerplate Projects 03:42
201 Environment Setup 01:46
202 Project Setup 02:54
203 JSX 11:30
204 More on JSX 04:36
205 ES6 Import Statements 03:59
206 ReactDOM vs React 02:27
207 Component Instances 03:39
208 Render Targets 05:54
209 Component Structure 06:27
210 Youtube Search API Signup 06:40
211 Export Statements 08:41
212 Class Based Components 08:12
213 Handling User Events 09:31
214 Introduction to State 05:14
215 State Continued 06:05
216 Controlled Components 07:48
217 Breather and Review 03:38
218 Youtube Search Response 04:27
219 Refactoring Functional Components to Class Components 07:44
220 Props 07:43
221 Building Lists with Map 07:07
222 List Item Keys 03:55
223 Video List Items 07:54
224 Detail Component and Template Strings 07:06
225 Handling Null Props 04:42
226 Video Selection 11:40
227 Styling with CSS 03:44
228 Searching for Videos 07:52
229 Throttling Search Term Input 05:47
230 React Wrapup 05:25

Similar courses to Ethereum and Solidity: The Complete Developer's Guide

Ethereum and Solidity: Build Dapp with VueJS

Ethereum and Solidity: Build Dapp with VueJSudemy

Duration 1 hour 45 minutes 9 seconds