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