1. Урок 1. 00:02:16
    Your Instructor For This Course
  2. Урок 2. 00:02:15
    Who Is This Ethereum Course For?
  3. Урок 3. 00:02:58
    Course Structure - So You Get The Most Out Of It
  4. Урок 4. 00:02:30
    A Quick Note On Udemy Reviews
  5. Урок 5. 00:01:17
    Section Overview
  6. Урок 6. 00:01:42
    Setup Remix
  7. Урок 7. 00:04:58
    Remix File Management
  8. Урок 8. 00:08:25
    Starting, Stopping And Interacting With Smart Contracts
  9. Урок 9. 00:11:14
    Blockchain Basics
  10. Урок 10. 00:05:40
    Read And Write To Smart Contract
  11. Урок 11. 00:10:20
    Section Wrap Up
  12. Урок 12. 00:01:03
    Congratulations
  13. Урок 13. 00:01:35
    Overview
  14. Урок 14. 00:04:27
    Booleans
  15. Урок 15. 00:09:30
    (Unsigned) Integers
  16. Урок 16. 00:05:02
    Integer Rollover - SafeMath
  17. Урок 17. 00:07:28
    Strings And Bytes
  18. Урок 18. 00:04:13
    Address Types
  19. Урок 19. 00:03:57
    (Behind The Scenes) The Msg. Object
  20. Урок 20. 00:06:00
    Writing And Reading Functions - View Vs. Pure
  21. Урок 21. 00:03:43
    Understanding The Constructor
  22. Урок 22. 00:07:30
    Section Wrap Up
  23. Урок 23. 00:03:55
    The Blockchain Messenger Implementation
  24. Урок 24. 00:00:59
    Congratulations
  25. Урок 25. 00:01:18
    Overview
  26. Урок 26. 00:10:19
    Installing And Configuring Metamask
  27. Урок 27. 00:13:37
    Get Free Ether And Send Transactions
  28. Урок 28. 00:06:23
    (Behind The Scenes) Metamask
  29. Урок 29. 00:10:28
    (Behind The Scenes) An Ethereum Transaction
  30. Урок 30. 00:09:22
    (Behind The Scenes) Hashing
  31. Урок 31. 00:05:03
    Cancel Or Update Ethereum Transactions
  32. Урок 32. 00:05:55
    Remix And The Injected Web3 Provider
  33. Урок 33. 00:08:58
    The Payable Modifier And Msg.value
  34. Урок 34. 00:11:56
    (The Fallback Functions) Fallback And Receive
  35. Урок 35. 00:10:48
    Section Summary
  36. Урок 36. 00:10:22
    The Smart Money Implementation
  37. Урок 37. 00:01:09
    Congratulations
  38. Урок 38. 00:01:03
    Overview
  39. Урок 39. 00:09:51
    Solidity Mappings
  40. Урок 40. 00:10:03
    Mappings: A Wallet Example
  41. Урок 41. 00:11:52
    Structs Vs. Child Contracts
  42. Урок 42. 00:14:24
    Structs And Mappings
  43. Урок 43. 00:07:27
    (Exceptions) Require
  44. Урок 44. 00:04:50
    (Exceptions) Assert
  45. Урок 45. 00:09:37
    Try/Catch In Solidity
  46. Урок 46. 00:19:06
    Low-Level Solidity Calls In-Depth
  47. Урок 47. 00:15:35
    Section Summary
  48. Урок 48. 00:19:57
    The Smart Contract Wallet Implementation
  49. Урок 49. 00:01:41
    Congratulations
  50. Урок 50. 00:01:01
    Overview
  51. Урок 51. 00:08:55
    Web3.js Introduction
  52. Урок 52. 00:11:09
    Understanding The ABI Array
  53. Урок 53. 00:05:36
    Events As Return Variables
  54. Урок 54. 00:19:33
    Metamask, Web3.js, And Event Listeners
  55. Урок 55. 00:07:12
    (Behind The Scenes) Events
  56. Урок 56. 00:08:24
    Modifiers And Inheritance
  57. Урок 57. 00:05:24
    (Behind The Scenes) Modifiers
  58. Урок 58. 00:06:45
    (Behind The Scenes) Reserved Keywords
  59. Урок 59. 00:05:36
    Destroying Smart Contracts With Self-Destruct
  60. Урок 60. 00:12:01
    Block Explorers And Source Code Verification
  61. Урок 61. 00:18:47
    The ERC20 Token Explained
  62. Урок 62. 00:13:48
    Implementing An ERC20 Token Sale
  63. Урок 63. 00:01:23
    Congratulations
  64. Урок 64. 00:01:24
    Introduction To The NFT Project
  65. Урок 65. 00:14:33
    Deploy ERC721 Token From OpenZeppelin As OpenSea NFT On Goerli Using Remix
  66. Урок 66. 00:08:06
    How To Get Truffle Prerequisites On Your System For Windows, Linux And Mac
  67. Урок 67. 00:11:13
    Start A New Truffle Project Correctly And Understand The Folder Structure
  68. Урок 68. 00:10:51
    Truffle Migrations And How To Run Them From The Command Line Interface
  69. Урок 69. 00:05:04
    Using The Truffle Console To Interact With Smart Contracts On All Networks
  70. Урок 70. 00:15:41
    Write Your First Truffle Unit Test & Understand Advanced Event Assertions
  71. Урок 71. 00:17:27
    Deploy A Smart Contract Using HDWallet Provider Vs. Truffle Dashboard
  72. Урок 72. 00:12:23
    Debug Smart Contracts #1: Using Console.Log Inside Solidity Using Ganache
  73. Урок 73. 00:13:01
    Debug Smart Contracts #2: Using The Powerful Truffle Debugger And Chain Forking
  74. Урок 74. 00:24:16
    Summary: Truffle and Smart Contract Development
  75. Урок 75. 00:08:43
    ERC20 Vs. ERC777 And ERC721 Vs. ERC1155 Tokens Explained
  76. Урок 76. 00:12:02
    Hardhat Setup And Configuration Overview
  77. Урок 77. 00:09:38
    Deploying To Görli With HardHat And Verifying Smart Contracts On Etherscan
  78. Урок 78. 00:11:59
    Unit Testing With HardHat And Console.Log In Solidity
  79. Урок 79. 00:05:13
    Installing and Configuring Foundry and Forge
  80. Урок 80. 00:04:15
    Adding our NFT Contract to Foundry
  81. Урок 81. 00:11:27
    Writing Unit Tests for Foundry and understanding VM Pranking
  82. Урок 82. 00:08:36
    Deploy Smart Contracts using Foundry Scripts and Seed Phrases with Verification
  83. Урок 83. 00:01:33
    Outro and Thank You
  84. Урок 84. 00:04:58
    Welcome To The Course
  85. Урок 85. 00:04:50
    Ownership, Possession And The Double Spending Problem
  86. Урок 86. 00:07:41
    We Install MetaMask And Get Ether Into The Wallet
  87. Урок 87. 00:04:49
    Behind The Scenes: MetaMask, Infura, Blockchain Nodes And The Ledger
  88. Урок 88. 00:03:21
    Send Your First Transaction Using MetaMask
  89. Урок 89. 00:10:31
    Behind The Scenes: Ethereum Transactions And Signatures, Private/Public-Keys
  90. Урок 90. 00:07:01
    This Is How Blocks Are Chained Together - Cryptographic Hashing Explained
  91. Урок 91. 00:08:19
    Housekeeping - Get The Most Out Of The Course!
  92. Урок 92. 00:06:44
    LAB: Create Your First Smart Contract
  93. Урок 93. 00:08:18
    Create Your First Smart Contract - Explained
  94. Урок 94. 00:06:01
    LAB: Understanding Blockchain Nodes
  95. Урок 95. 00:09:15
    Understanding Blockchain Nodes - Explained
  96. Урок 96. 00:04:11
    LAB: Variables - (Unsigned) Integers In Solidity
  97. Урок 97. 00:01:12
    LAB: Variables - Booleans
  98. Урок 98. 00:01:58
    LAB: Variables - Understanding Integer Wrap Around
  99. Урок 99. 00:03:43
    LAB: Variables - Addresses And Balances
  100. Урок 100. 00:03:15
    LAB: Variables - Strings In Solidity
  101. Урок 101. 00:09:52
    Solidity Value Type Variables - Explained
  102. Урок 102. 00:11:47
    LAB: Understanding Addresses And The Msg-Object Step-By-Step
  103. Урок 103. 00:09:10
    Addresses And The Global Msg.object - Explained
  104. Урок 104. 00:12:08
    LAB: Starting, Stopping, Pausing And Deleting Smart Contracts
  105. Урок 105. 00:08:55
    Starting, Stopping, Pausing And Deleting Information - Explained
  106. Урок 106. 00:08:49
    LAB: Introduction To Mappings
  107. Урок 107. 00:10:42
    LAB: Understanding Mappings By Example
  108. Урок 108. 00:05:12
    LAB: Understanding Solidity Structs Step-By-Step
  109. Урок 109. 00:10:19
    Mappings, Structs And Arrays - Explained
  110. Урок 110. 00:07:30
    LAB: Exception Handling In Solidity - Require + Assert
  111. Урок 111. 00:10:52
    Exception: Require Assert Revert - Explained
  112. Урок 112. 00:12:06
    LAB: Constructor, The Fallback Function And View/Pure Getter Functions
  113. Урок 113. 00:08:55
    Constructor, Fallback Function, View/Pure Functions And Function Visibility
  114. Урок 114. 00:08:47
    Lab: Modifier, Inheritance, Importing Of Files
  115. Урок 115. 00:03:21
    Modifier, Inheritance And Importing: Explained
  116. Урок 116. 00:05:50
    Lab: Events And Return Variables
  117. Урок 117. 00:09:42
    Events And Return Variables: Explained
  118. Урок 118. 00:10:10
    LAB: The ABI Array And Debugging Explained
  119. Урок 119. 00:10:43
    ABI Array, Debugging And Gas Introduction In Solidity Explained
  120. Урок 120. 00:07:45
    Understanding Gas And Gas Costs Step-By-Step
  121. Урок 121. 00:09:49
    LAB: Libraries And Using ... For
  122. Урок 122. 00:03:31
    Libraries And Using ... For Explained Step-By-Step
  123. Урок 123. 00:17:54
    UPDATE: Solidity 0.6.0 Breaking Changes Walkthrough
  124. Урок 124. 00:03:59
    Introduction To The Project We Are Developing
  125. Урок 125. 00:02:58
    Step 1: Define The Basic Smart Contract
  126. Урок 126. 00:03:36
    Step 2: Securing The Smart Contract
  127. Урок 127. 00:03:59
    Step 3: Re-Using OpenZepplin Smart Contracts
  128. Урок 128. 00:08:37
    Step 4: Add Allowance Functionality
  129. Урок 129. 00:05:29
    Step 5: Add Reduce-Allowance Functionality
  130. Урок 130. 00:01:34
    Step 6: Improve The Smart Contract Structure For Better Auditability
  131. Урок 131. 00:05:01
    Step 7: Add Events For The Allowance Smart Contract
  132. Урок 132. 00:03:36
    Step 8: Add Events For The Simple Wallet Smart Contract
  133. Урок 133. 00:03:34
    Step 9: Add The SafeMath Library
  134. Урок 134. 00:02:30
    Step 10: Remove The RenounceOwnership Functionality
  135. Урок 135. 00:01:45
    Step 11: The Final Smart Contract From Our Project
  136. Урок 136. 00:03:54
    Installing NodeJS To Get Our Environment Set Up
  137. Урок 137. 00:12:54
    Use Web3.js In The Node Console To Send Ether From One Account To The Other
  138. Урок 138. 00:11:30
    Use Web3.JS In The Node Console To Interact With Smart Contracts
  139. Урок 139. 00:08:09
    Using Web3.js With Chrome To Interact With Smart Contracts - Step-By-Step
  140. Урок 140. 00:09:28
    Behind The Scenes: Web3.js, Blockchain Nodes, RPC, IPC, WebSocket Connections
  141. Урок 141. 00:05:42
    Project Introduction: This Is What We Build
  142. Урок 142. 00:04:02
    A Demo Of The Final Smart Contract Functionality
  143. Урок 143. 00:08:43
    Solidity Part: Implement Approach 1 For Payment Notifications
  144. Урок 144. 00:03:24
    Solidity Part: Test Approach 1 For Payment Notifications
  145. Урок 145. 00:12:06
    Solidity Part: Improve Approach 1 For Flawless UX For Endusers
  146. Урок 146. 00:04:21
    Solidity Part: Add Ownable Functionality And Why I Didn't Choose OpenZeppelin
  147. Урок 147. 00:08:39
    Truffle - Introduction To The Truffle Framework And Truffle Boxes
  148. Урок 148. 00:12:58
    The Truffle React Box Explained Line-By-Line
  149. Урок 149. 00:04:50
    Replace Smart Contracts In The Truffle React Box
  150. Урок 150. 00:12:07
    Modify the App.js And HTML Part In The React Box
  151. Урок 151. 00:10:38
    Implement The Add-Item functionality To Our Smart Contracts For Item-Tracking
  152. Урок 152. 00:07:22
    Add Event-Triggers To Track Payments And Start The Delivery-Process
  153. Урок 153. 00:15:49
    Create Unit-Tests In Truffle To Maintain Code Quality
  154. Урок 154. 00:06:09
    Let Me Introduce The "Big Picture"
  155. Урок 155. 00:02:20
    This Is Where You Can Download Geth And How You Install It
  156. Урок 156. 00:06:44
    This Happens When You Open Geth Without Any Additional Parameters
  157. Урок 157. 00:05:03
    Log-Output from Geth Explained
  158. Урок 158. 00:01:41
    This Is Where The Data Is Stored By Default In Geth
  159. Урок 159. 00:03:05
    This Is How You Attach To A Running Geth Instance
  160. Урок 160. 00:07:02
    We Are Working With The JavaScript JSON-API
  161. Урок 161. 00:02:42
    This Is The Difference Between Blockchains and Networks
  162. Урок 162. 00:04:11
    This Is The Genesis.json File
  163. Урок 163. 00:04:01
    Let's Create Our Own Private Network With Go-Ethereum
  164. Урок 164. 00:06:04
    First Steps With The JSON API And Our Private Network
  165. Урок 165. 00:07:23
    This Is How I Mine Ether On My Private Network
  166. Урок 166. 00:03:34
    Let Me Show You Some Important Tips and Tricks With Geth
  167. Урок 167. 00:03:02
    Project Introduction: This Is What We Are building
  168. Урок 168. 00:04:14
    Fungible vs. Non-Fungible Tokens Summarized
  169. Урок 169. 00:07:06
    This Is How We Approach This Project: The Implementation Path
  170. Урок 170. 00:02:19
    We Install Truffle And Initialize Our Project Using Truffle Boxes
  171. Урок 171. 00:04:08
    Let's Add In The ERC20 Smart Contracts From OpenZeppelin
  172. Урок 172. 00:04:20
    We Add Migrations For Truffle For The OpenZeppelin Smart Contracts
  173. Урок 173. 00:11:20
    Let's Add Unit Tests Using Mocha, Chai, Chai-Expect And Chai-As-Promised
  174. Урок 174. 00:08:09
    It's Time To Add More Unit Tests For Full Testing Of Our MyToken Smart Contract
  175. Урок 175. 00:04:24
    We Add A Crowdsale Smart Contract For Solidity 0.6.x From OpenZeppelin
  176. Урок 176. 00:02:38
    This Is How You Use The Crowdsale Smart Contract From OpenZeppelin
  177. Урок 177. 00:05:39
    Let's Add The Migration For The MyTokenSale Smart Contract
  178. Урок 178. 00:03:09
    Let's Fix The Unit Test And Encapsulate It From The Other Tests
  179. Урок 179. 00:05:36
    Let's Consolidate Our Configuration In Truffle Into One .env File Using dotenv
  180. Урок 180. 00:04:46
    Let's Write A Crowdsale Unit Test Using Mocha And Chai
  181. Урок 181. 00:03:11
    Fix Multiple Truffle Tests Using A Common Setup For Chai And Chai Expect
  182. Урок 182. 00:06:56
    Let's Add The Remaining Unit Tests Into Our Crowdsale
  183. Урок 183. 00:10:52
    We Add A KYC Smart Contract Solution Mockup For Our Crowdsale With Whitelisting
  184. Урок 184. 00:09:54
    Let's Adapt The React Frontend For Our TokenSale App
  185. Урок 185. 00:06:36
    Let's Add The KYC Whitelisting Functionality To Our Frontend
  186. Урок 186. 00:09:14
    Fix Common Errors With Accounts, Contracts And Private Keys
  187. Урок 187. 00:11:44
    Use Truffle HDWallet Provider To Deploy Smart Contracts
  188. Урок 188. 00:05:42
    Buy Tokens Using MetaMask And The Send Functionality
  189. Урок 189. 00:02:43
    Display Tokens Directly In MetaMask
  190. Урок 190. 00:09:48
    Display And Buy Tokens Via The Website Using Web3.js
  191. Урок 191. 00:07:44
    Deployment Of The Smart Contracts To Ropsten Using Infura
  192. Урок 192. 00:02:04
    Introduction
  193. Урок 193. 00:10:17
    Essential Soft Skills Recruiters Require
  194. Урок 194. 00:00:52
    Conclusion