Have any questions? +91 8810613561 info@inno-labz.com

Blockchain for Developers

This course teaches anyone the basics of blockchain technology as well as languages and tools required to build decentralised applications on the Ethereum platform.


OVERVIEW

There is a whole lot of hype around Blockchain. But how does it work? What is a smart contract? Why is everyone so excited about DAOs? And what does all of this have to do with cryptocurrencies?
And most importantly, how do you program for a blockchain network?
We have spent the past year developing this in-depth course to teach developers about Blockchain and how to develop decentralized applications, or DApps, on the Ethereum platform.

This course teaches anyone the basics of blockchain technology as well as languages and tools required to build decentralized applications on the Ethereum platform. This course is aimed at amateurs and programmers, introducing everything needed to understand the technology, write smart contracts and build applications that interact with them.
Participants will learn about the Ethereum platform, the programming language Solidity, how to use web3 and the Truffle framework and lastly, how to tie everything together. Step by step, participants build a fully functioning decentralized application, deploy it and test it.




CURRICULUM

Objective:

The course covers the very basics of blockchain technology, from data structures to live projects. Serves as both a reminder for participants who know the basics and a clear introduction for those who dont.

Topics:

  • What is a blockchain?
  • What are transactions and blocks?
  • How do P2P systems operate?
  • The most prominent consensus mechanisms
  • Difference between private, consortium, and public networks
  • What does the data structure look like?
  • How do Smart Contracts work?
  • What is the Ethereum Virtual Machine?
  • What is a Hash?
  • How do public/private keys work?
  • What is a Merkle tree?
  • What is the double-spend problem?

Objective:

The window into any blockchain network is the node. This course teaches students how to run a node and how to install, configure and use the most common Ethereum clients.

Topics:

  • The Ethereum ecosystem, DApps, and DAOs
  • What is Mist and how does it work?
  • What is Ether, an account, a Faucet?
  • Compile, deploy and instantiate contracts
  • Configuring, running and working with the go-ethereum client
  • Account management and mining
  • Understand the different stages of a contract deployment
  • How to interact with a contract once deployed?
  • What does the setup process for a private network look like?

Objective:

The most prominent language used for the development of smart contracts is Solidity. The course covers all aspects from value types and inheritance to more exotic features and optimization.

Topics:

  • Contract classes, Functions, and conditionals
  • Inheritance & abstract contracts
  • Libraries
  • Types & Optimisation
  • Global Variables
  • Debugging

Objective:

The toolkit to aid the development of decentralized applications is growing. This course introduces the two most currently relevant and covers everything from installation and setup to custom configuration and scripting.

Topics:

  • Building an interface to interact with a smart contract
  • Setting up event-driven interfaces
  • Adapting Truffle’s default behavior
  • Write functional tests for smart contracts
  • How to manually test contract functionality?
  • Instantiate Web3 and communicate with a contract from an HTML page
  • Use client-side signing and remote nodes for light DApps
  • How do Web3 and Truffle work with Angular.js?

Topics:

Module 1 - What is Ethereum?
1. Introduction
2. Link to Github Repo
3. A Short History Lesson
4. Link to Original Bitcoin White Paper
5. What is Ethereum?
6. Interfacing with Ethereum Networks
7. Metamask Setup
8. Ethereum Accounts
9. Receiving Ether
10. What is a Transaction?
11. Why would We Waited?
12. A Quick Note
13. Basic Blockchains
14. Block Time
15. Smart Contracts
16. The Solidity Programming Language
17. Our First Contract
18. Contract Structure
19. Function Declarations
20. Testing with Remix
21. Redeploying Contracts
22. Behind the Scenes of Deployment
23. More on Running Functions Than You Want to Know
24. Wei vs Ether
25. Gas and Transactions
26. Mnemonic Phrases
27. Getting More Ether

Module 2 - Smart Contracts with Solidity
28. Do not Skip! Node JS Versioning
29. Contract Deployment
30. Boilerplate Requirements
31. Project File Walkthrough
32. Syntax Highlighters
33. Compiling Solidity
34. The Compile Script
35. Testing Architecture
36. Running Windows?
37. Installing Modules
38. Web3 Version
39. Web3 Providers
40. Testing with Mocha
41. Mocha Structure
42. Fetching Accounts from Ganache
43. Refactor to Async/Await
44. Deployment with Web
45. Deployed Inbox Overview
46. Asserting Deployment
47. Web3 Version Fix
48. Verifying the Initial Message
49. Testing Message Updates
50. Deployment with Infura
51. Infura Sign up
52. Wallet Provider Setup
53. Deployment to Rinkeby
54. Observing Deployment on Etherscan
55. Deployed Contracts in Remix
56. Project Review

Module 3- Advanced Smart Contracts
57. The Lottery Contract
58. Lottery Design
59. Basic Solidity Types
60. Starting the Lottery Contract
61. The Message Global Variable
62. Overview of Arrays
63. Overview of Mappings and Structs
64. Big Solidity Gotcha
65. Entering the Lottery
66. Validation with Require Statements
67. The Remix Debugger
68. Pseudo Random Number Generator
69. Selecting a Winner
70. Sending Ether from Contracts
71. Resetting Contract State
72. Requiring Managers
73. Function Modifiers
74. Returning Players Array
75. Contract Review
76. New Test Setup
77. Test Project Updates
78. Test Helper Review
79. Asserting Deployment
80. Entering the Lottery
81. Asserting Multiple Players
82. Try-Catch Assertions
83. Testing Function Modifier
84. End to End Test

Module 4 - Building Interactive Front-Ends
85. Ethereum App Architecture
86. Application Overview
87. Getting Started with Create-React-App
88. Multiple Web3 Instances
89. Web3 Setup
90. Deploying the Lottery Contract
91. Local Contract Instances
92. Rendering Contract Data
93. Instance Properties
94. Accessing More Properties
95. The Enter Form
96. Form Setup
97. Entering the Lottery
98. Picking a Winner
99. Project Review

Module 5 - Real Projects with Ethereum
100. Solving Real Problems with Contracts
101. Fixing Kickstarters Issues
102. Campaign Contract Design
103. Campaign Constructor
104. Contributing to the Campaign
105. A Quick Test
106. The Request Struct
107. More on Function Modifiers
108. Creating Struct Instances
109. Instance Creation Syntax
110. Storage and Memory
111. More on Storage vs Memory
112. Voting System Requirements
113. The Wrong Voting System
114. Issues with Arrays
115. Mappings vs Array
116. Basics of Mappings
117. Refactoring to Mappings
118. Refactoring Request Stucts
119. More on Struct Initialization
120. Approving a Request
121. Testing Request Approvals
122. Finalizing a Request
123. Last Remix Test
124. Thinking about Deployment
125. Solution to Deployment
126. Adding a Campaign Factory
127. Testing the Factory

Module 6 - Ethereum Project Infrastructure
128. Project Setup
129. Directory Structure
130. A Better Compile Script
131. Single Run Compilation
132. More on Compile
133. Test File Setup
134. Creating Campaign Instances
135. Testing Warmup
136. Accessing Mappings
137. Requiring Minimum Contributions
138. Array Getters
139. One End to End Test
140. Deployment
141. Refactoring Deployment

Module 7 - Advanced Multi-Page Front-Ends
142. App Mockups
143. CRA vs Next
144. Nexts Pages Architecture
145. Basics of Next Routing
146. Root Routes
147. CampaignFactory Instance
148. Getting a Test Campaign
149. Fetching Deployed Campaigns
150. Why Next.js, Anyways?
151. Server vs Client Web3 Instances
152. GetInitialProps Function
153. Semantic UI React
154. Card Group Setup
155. Rendering Card Groups
156. Adding CSS
157. Adding a Button
158. The Need for a Layout
159. The Layout Component
160. Assembling a Header
161. Constraining Content Width
162. Two Column Layout
163. Nested Routing
164. Final CSS Fix
165. Form Creation
166. Input Change Handlers
167. Form Submittal
168. Testing Submittal
169. Form Error Handling
170. Button Spinners
171. Routing Issues
172. Next Routes Setup
173. Automatic Navigation
174. Header Navigation
175. Routing to Campaigns
176. Restarting the Server
177. Route Mappings
178. Planning CampaignShow
179. Redeploying CampaignFactory
180. Campaign shows GetInitialProps
181. Accessing a Campaign
182. Summary Translation Layer
183. Custom Card Groups
184. One Card Per Property
185. The Contribute Form
186. Grid Layouts
187. Form State
188. Communicating the Campaign Address
189. Making a Contribution
190. Refreshing Contract Data
191. Spinners and Error Handlers
192. Listing Requests
193. Grids vs Columns
194. More Routing!
195. Request Creation Form
196. Creating a Request
197. Form Polish
198. Creating a Request
199. Requests One by One
200. Fancy Javascript
201. Small Typo!
202. Rendering a Table
203. Request Row Component
204. Request Row Content
205. Approvers Count Cell
206. Approving a Request
207. Finalizing Requests
208. Testing Finalization
209. Row Status Styling
210. Finishing Requests Index
211. Wrapup

Module 8 - Appendix: Basic React
212. A Note on This Section
213. Purpose of Boilerplate Projects
214. Environment Setup
215. Project Setup
216. JSX
217. More on JSX
218. ES6 Import Statements
219. ReactDOM vs React
220. Component Instances
221. Render Targets
222. Component Structure
223. Youtube Search API Sign up
224. Export Statements
225. Class-Based Components
226. Handling User Events
227. Introduction to State
228. State Continued
229. Controlled Components
230. Breather and Review
231. Youtube Search Response
232. Refactoring Functional Components to Class Components
233. Props
234. Building Lists with Map
235. List Item Keys
236. Video List Items
237. Detail Component and Template Strings
238. Handling Null Props
239. Video Selection
240. Styling with CSS
241. Searching for Videos
242. Throttling Search Term Input
243. React Wrapup5:24




CERTIFICATION

There is a whole lot of hype around Blockchain. But how does it work? What is a smart contract? Why is everyone so excited about DAOs? And what does all of this have to do with cryptocurrencies?
And most importantly, how do you program for a blockchain network?
We have spent the past year developing this in-depth course to teach developers about Blockchain and how to develop decentralized applications, or DApps, on the Ethereum platform.

This course teaches anyone the basics of blockchain technology as well as languages and tools required to build decentralized applications on the Ethereum platform. This course is aimed at amateurs and programmers, introducing everything needed to understand the technology, write smart contracts and build applications that interact with them.
Participants will learn about the Ethereum platform, the programming language Solidity, how to use web3 and the Truffle framework and lastly, how to tie everything together. Step by step, participants build a fully functioning decentralized application, deploy it and test it.


TECHNOLOGY PARTNER

Indian Blockchain Council

Indian Blockchain Council (IBC) supports India and global Blockchain ecosystem.

Course Fee : ₹ 60000

APPLY NOW

For Corporate & Bulk Booking

Any Corporate, Schools and Colleges are eligible for this course.

Call us Today

NEED CAREER GUIDANCE?
OR
YOU DREAM TO BE AN ENTREPRENEUR?

We're always happy to help. Fill the details to connect with our representative.

Explore all the Courses