1. Урок 1.00:03:45
    Introduction
  2. Урок 2.00:04:14
    A Short History Lesson
  3. Урок 3.00:04:17
    What is Ethereum?
  4. Урок 4.00:02:43
    Interfacing with Ethereum Networks
  5. Урок 5.00:05:23
    Ethereum Accounts
  6. Урок 6.00:07:44
    What's a Transaction?
  7. Урок 7.00:05:01
    Why'd We Wait?
  8. Урок 8.00:17:50
    Basic Blockchains
  9. Урок 9.00:10:50
    Block Time
  10. Урок 10.00:06:56
    Smart Contracts
  11. Урок 11.00:05:04
    The Solidity Programming Language
  12. Урок 12.00:05:42
    Our First Contract
  13. Урок 13.00:05:40
    Contract Structure
  14. Урок 14.00:09:00
    Function Declarations
  15. Урок 15.00:10:58
    Testing with Remix
  16. Урок 16.00:02:35
    Redeploying Contracts
  17. Урок 17.00:05:44
    Behind the Scenes of Deployment
  18. Урок 18.00:14:16
    More on Running Functions Than You Want to Know
  19. Урок 19.00:04:08
    Wei vs Ether
  20. Урок 20.00:11:25
    Gas and Transactions
  21. Урок 21.00:11:29
    Mnemonic Phrases
  22. Урок 22.00:00:50
    We Need More Test Ether!
  23. Урок 23.00:05:32
    Contract Deployment
  24. Урок 24.00:05:10
    Project Requirements
  25. Урок 25.00:04:33
    Project File Walkthrough
  26. Урок 26.00:06:23
    Compiling Solidity
  27. Урок 27.00:06:11
    The Compile Script
  28. Урок 28.00:03:49
    Testing Architecture
  29. Урок 29.00:04:16
    Installing Modules
  30. Урок 30.00:04:19
    Web3 Versioning
  31. Урок 31.00:04:48
    Web3 Providers
  32. Урок 32.00:18:17
    Testing with Mocha
  33. Урок 33.00:04:45
    Mocha Structure
  34. Урок 34.00:06:44
    Fetching Accounts from Ganache
  35. Урок 35.00:02:40
    Refactor to Async/Await
  36. Урок 36.00:06:12
    Deployment with Web3
  37. Урок 37.00:11:19
    Deployed Inbox Overview
  38. Урок 38.00:05:23
    Asserting Deployment
  39. Урок 39.00:08:26
    Verifying the Initial Message
  40. Урок 40.00:06:25
    Testing Message Updates
  41. Урок 41.00:06:58
    Deployment with Infura
  42. Урок 42.00:06:41
    Wallet Provider Setup
  43. Урок 43.00:07:22
    Deployment to Testnet
  44. Урок 44.00:04:52
    Observing Deployment on Etherscan
  45. Урок 45.00:07:14
    Deployed Contracts in Remix
  46. Урок 46.00:09:28
    Project Review
  47. Урок 47.00:02:37
    The Lottery Contract
  48. Урок 48.00:02:51
    Lottery Design
  49. Урок 49.00:09:44
    Basic Solidity Types
  50. Урок 50.00:04:45
    Starting the Lottery Contract
  51. Урок 51.00:05:54
    The Message Global Variable
  52. Урок 52.00:11:07
    Overview of Arrays
  53. Урок 53.00:03:43
    Overview of Mappings and Structs
  54. Урок 54.00:06:29
    Big Solidity Gotcha
  55. Урок 55.00:03:58
    Entering the Lottery
  56. Урок 56.00:09:49
    Validation with Require Statements
  57. Урок 57.00:04:04
    The Remix Debugger
  58. Урок 58.00:10:35
    Pseudo Random Number Generator
  59. Урок 59.00:04:59
    Selecting a Winner
  60. Урок 60.00:05:09
    Sending Ether from Contracts
  61. Урок 61.00:04:08
    Resetting Contract State
  62. Урок 62.00:05:04
    Requiring Managers
  63. Урок 63.00:06:19
    Function Modifiers
  64. Урок 64.00:02:14
    Returning Players Array
  65. Урок 65.00:02:52
    Contract Review
  66. Урок 66.00:03:05
    New Test Setup
  67. Урок 67.00:02:05
    Test Project Updates
  68. Урок 68.00:04:34
    Test Helper Review
  69. Урок 69.00:02:55
    Asserting Deployment
  70. Урок 70.00:06:28
    Entering the Lottery
  71. Урок 71.00:02:40
    Asserting Multiple Players
  72. Урок 72.00:05:58
    Try-Catch Assertions
  73. Урок 73.00:03:30
    Testing Function Modifiers
  74. Урок 74.00:11:05
    End to End Test
  75. Урок 75.00:09:21
    Ethereum App Architecture
  76. Урок 76.00:07:57
    Application Overview
  77. Урок 77.00:02:37
    Getting Started with Create-React-App
  78. Урок 78.00:08:43
    Multiple Web3 Instances
  79. Урок 79.00:06:10
    Web3 Setup
  80. Урок 80.00:05:33
    Deploying the Lottery Contract
  81. Урок 81.00:06:27
    Local Contract Instances
  82. Урок 82.00:07:05
    Rendering Contract Data
  83. Урок 83.00:01:59
    Instance Properties
  84. Урок 84.00:05:34
    Accessing More Properties
  85. Урок 85.00:03:51
    The 'Enter' Form
  86. Урок 86.00:06:48
    Form Setup
  87. Урок 87.00:06:36
    Entering the Lottery
  88. Урок 88.00:08:35
    Picking a Winner
  89. Урок 89.00:03:08
    Project Review
  90. Урок 90.00:06:02
    Solving Real Problems with Contracts
  91. Урок 91.00:07:49
    Fixing Kickstarter's Issues
  92. Урок 92.00:09:06
    Campaign Contract Design
  93. Урок 93.00:04:17
    Campaign Constructor
  94. Урок 94.00:03:08
    Contributing to the Campaign
  95. Урок 95.00:02:14
    A Quick Test
  96. Урок 96.00:08:59
    The Request Struct
  97. Урок 97.00:05:16
    More on Function Modifiers
  98. Урок 98.00:05:34
    Creating Struct Instances
  99. Урок 99.00:09:32
    Instance Creation Syntax
  100. Урок 100.00:06:28
    Storage and Memory
  101. Урок 101.00:16:24
    More on Storage vs Memory
  102. Урок 102.00:02:50
    Voting System Requirements
  103. Урок 103.00:05:13
    The Wrong Voting System
  104. Урок 104.00:06:15
    Issues with Arrays
  105. Урок 105.00:04:02
    Mappings vs Arrays
  106. Урок 106.00:11:09
    Basics of Mappings
  107. Урок 107.00:06:46
    Refactoring to Mappings
  108. Урок 108.00:02:16
    Refactoring Request Stucts
  109. Урок 109.00:02:53
    More on Struct Initialization
  110. Урок 110.00:07:54
    Approving a Request
  111. Урок 111.00:05:23
    Testing Request Approvals
  112. Урок 112.00:07:25
    Finalizing a Request
  113. Урок 113.00:03:04
    Last Remix Test
  114. Урок 114.00:09:47
    Thinking about Deployment
  115. Урок 115.00:06:34
    Solution to Deployment
  116. Урок 116.00:07:54
    Adding a Campaign Factory
  117. Урок 117.00:03:28
    Testing the Factory
  118. Урок 118.00:02:18
    Project Setup
  119. Урок 119.00:02:57
    Directory Structure
  120. Урок 120.00:04:42
    A Better Compile Script
  121. Урок 121.00:08:47
    Single Run Compilation
  122. Урок 122.00:06:21
    More on Compile
  123. Урок 123.00:08:22
    Test File Setup
  124. Урок 124.00:10:20
    Creating Campaign Instances
  125. Урок 125.00:03:12
    Testing Warmup
  126. Урок 126.00:09:56
    Accessing Mappings
  127. Урок 127.00:03:14
    Requiring Minimum Contributions
  128. Урок 128.00:06:08
    Array Getters
  129. Урок 129.00:13:01
    One End to End Test
  130. Урок 130.00:02:17
    Deployment
  131. Урок 131.00:06:06
    Refactoring Deployment
  132. Урок 132.00:11:06
    App Mockups
  133. Урок 133.00:05:00
    CRA vs Next
  134. Урок 134.00:05:09
    Next's Pages Architecture
  135. Урок 135.00:04:52
    Basics of Next Routing
  136. Урок 136.00:05:24
    Root Routes
  137. Урок 137.00:07:13
    CampaignFactory Instance
  138. Урок 138.00:05:36
    Getting a Test Campaign
  139. Урок 139.00:06:28
    Fetching Deployed Campaigns
  140. Урок 140.00:09:51
    Why Next.js, Anyways?
  141. Урок 141.00:10:42
    Server vs Client Web3 Instances
  142. Урок 142.00:10:15
    GetInitialProps Function
  143. Урок 143.00:05:50
    Semantic UI React
  144. Урок 144.00:06:42
    Card Group Setup
  145. Урок 145.00:06:11
    Rendering Card Groups
  146. Урок 146.00:04:41
    Adding CSS
  147. Урок 147.00:06:48
    Adding a Button
  148. Урок 148.00:06:17
    The Need for a Layout
  149. Урок 149.00:07:14
    The Layout Component
  150. Урок 150.00:07:36
    Assembling a Header
  151. Урок 151.00:04:29
    Constraining Content Width
  152. Урок 152.00:01:59
    Two Column Layout
  153. Урок 153.00:04:28
    Nested Routing
  154. Урок 154.00:05:21
    Final CSS Fix
  155. Урок 155.00:04:32
    Form Creation
  156. Урок 156.00:06:21
    Input Change Handlers
  157. Урок 157.00:05:59
    Form Submittal
  158. Урок 158.00:03:45
    Testing Submittal
  159. Урок 159.00:12:50
    Form Error Handling
  160. Урок 160.00:06:57
    Button Spinners
  161. Урок 161.00:03:14
    Routing Issues
  162. Урок 162.00:10:55
    Next Routes Setup
  163. Урок 163.00:04:44
    Automatic Navigation
  164. Урок 164.00:05:53
    Header Navigation
  165. Урок 165.00:05:53
    Routing to Campaigns
  166. Урок 166.00:07:02
    Route Mappings
  167. Урок 167.00:04:00
    Planning CampaignShow
  168. Урок 168.00:08:54
    Redeploying CampaignFactory
  169. Урок 169.00:07:11
    CampaignShow's GetInitialProps
  170. Урок 170.00:08:04
    Accessing a Campaign
  171. Урок 171.00:04:16
    Summary Translation Layer
  172. Урок 172.00:07:45
    Custom Card Groups
  173. Урок 173.00:04:39
    One Card Per Property
  174. Урок 174.00:07:23
    The Contribute Form
  175. Урок 175.00:04:08
    Grid Layouts
  176. Урок 176.00:02:45
    Form State
  177. Урок 177.00:04:25
    Communicating the Campaign Address
  178. Урок 178.00:04:56
    Making a Contribution
  179. Урок 179.00:06:18
    Refreshing Contract Data
  180. Урок 180.00:04:57
    Spinners and Error Handlers
  181. Урок 181.00:06:30
    Listing Requests
  182. Урок 182.00:03:37
    Grids vs Columns
  183. Урок 183.00:08:33
    More Routing!
  184. Урок 184.00:10:36
    Request Creation Form
  185. Урок 185.00:09:52
    Creating a Request
  186. Урок 186.00:07:44
    Form Polish
  187. Урок 187.00:01:13
    Creating a Request
  188. Урок 188.00:03:33
    Requests One by One
  189. Урок 189.00:07:36
    Fancy Javascript
  190. Урок 190.00:03:23
    Rendering a Table
  191. Урок 191.00:06:18
    Request Row Component
  192. Урок 192.00:07:24
    Request Row Content
  193. Урок 193.00:05:52
    Approvers Count Cell
  194. Урок 194.00:06:59
    Approving a Request
  195. Урок 195.00:05:20
    Finalizing Requests
  196. Урок 196.00:02:34
    Testing Finalization
  197. Урок 197.00:06:46
    Row Status Styling
  198. Урок 198.00:02:31
    Finishing Requests Index
  199. Урок 199.00:00:45
    Wrapup
  200. Урок 200.00:03:42
    Purpose of Boilerplate Projects
  201. Урок 201.00:01:46
    Environment Setup
  202. Урок 202.00:02:54
    Project Setup
  203. Урок 203.00:11:30
    JSX
  204. Урок 204.00:04:36
    More on JSX
  205. Урок 205.00:03:59
    ES6 Import Statements
  206. Урок 206.00:02:27
    ReactDOM vs React
  207. Урок 207.00:03:39
    Component Instances
  208. Урок 208.00:05:54
    Render Targets
  209. Урок 209.00:06:27
    Component Structure
  210. Урок 210.00:06:40
    Youtube Search API Signup
  211. Урок 211.00:08:41
    Export Statements
  212. Урок 212.00:08:12
    Class Based Components
  213. Урок 213.00:09:31
    Handling User Events
  214. Урок 214.00:05:14
    Introduction to State
  215. Урок 215.00:06:05
    State Continued
  216. Урок 216.00:07:48
    Controlled Components
  217. Урок 217.00:03:38
    Breather and Review
  218. Урок 218.00:04:27
    Youtube Search Response
  219. Урок 219.00:07:44
    Refactoring Functional Components to Class Components
  220. Урок 220.00:07:43
    Props
  221. Урок 221.00:07:07
    Building Lists with Map
  222. Урок 222.00:03:55
    List Item Keys
  223. Урок 223.00:07:54
    Video List Items
  224. Урок 224.00:07:06
    Detail Component and Template Strings
  225. Урок 225.00:04:42
    Handling Null Props
  226. Урок 226.00:11:40
    Video Selection
  227. Урок 227.00:03:44
    Styling with CSS
  228. Урок 228.00:07:52
    Searching for Videos
  229. Урок 229.00:05:47
    Throttling Search Term Input
  230. Урок 230.00:05:25
    React Wrapup