Ethereum, Solidity & React
What is Ethereum?
1. Introduction 2. Link to Github Repo 3. A Short History Lesson 4. What is Ethereum? 5. Interfacing with Ethereum Networks 6. Metamask Setup 7. Ethereum Accounts 8. Receiving Ether 9. What’s a Transaction? 10. Why’d We Wait? 11. A Quick Note 12. Basic Blockchains 13. Block Time 14. Smart Contracts 15. The Solidity Programming Language 16. Our First Contract 17. Contract Structure 18. Function Declarations 19. Testing with Remix 20. Redeploying Contracts 21. Behind the Scenes of Deployment 22. More on Running Functions Than You Want to Know 23. Wei vs Ether 24. Gas and Transactions 25. Mnemonic Phrases 26. Getting More Ether |
Smart Contracts with Solidity
1. Don’t Skip! Node JS Versioning 2. Contract Deployment 3. Boilerplate Requirements 4. Project File Walkthrough 5. Syntax Highlighters 6. Compiling Solidity 7. The Compile Script 8. Testing Architecture 9. Running Windows? 10. Installing Modules 11. Web3 Versioning 12. Web3 Providers 13. Testing with Mocha 14. Mocha Structure 15. Fetching Accounts from Ganache 16. Refactor to Async/Await 17. Deployment with Web 18. Deployed Inbox Overview 19. Asserting Deployment 20. Web3 Version Fix 21. Verifying the Initial Message 22. Testing Message Updates 23. Deployment with Infura 24. Infura Signup 25. Wallet Provider Setup 26. Deployment to Rinkeby 27. Observing Deployment on Etherscan 28. Deployed Contracts in Remix 29. Project Review |
Advanced Smart Contracts
|
Building Interactive Front-Ends
1. Ethereum App Architecture 2. Application Overview 3. Getting Started with Create-React-App 4. Multiple Web3 Instances 5. Web3 Setup6 6. Deploying the Lottery Contract 7. Local Contract Instances 8. Rendering Contract Data 9. Instance Properties 10. Accessing More Properties 11. The ‘Enter’ Form 12. Form Setup 13. Entering the Lottery 14. Picking a Winner 15. Project Review
|
Real Projects with Ethereum
1. Solving Real Problems with Contracts 2. Fixing Kickstarter’s Issues 3. Campaign Contract Design 4. Campaign Constructor 5. Contributing to the Campaign 6. A Quick Test 7. The Request Struct 8. More on Function Modifiers 9. Creating Struct Instances 10. Instance Creation Syntax 11. Storage and Memory 12. More on Storage vs Memory 13. Voting System Requirements 14. The Wrong Voting System 15. Issues with Arrays 16. Mappings vs Arrays 17. Basics of Mappings 18. Refactoring to Mappings 19. Refactoring Request Stucts 20. More on Struct Initialization 21. Approving a Request 22. Testing Request Approvals 23. Finalizing a Request 24. Last Remix Test 25. Thinking about Deployment 26. Solution to Deployment 27. Adding a Campaign Factory 28. Testing the Factory |
Ethereum Project Infrastructure
1. Project Setup 2. Directory Structure 3. A Better Compile Script 4. Single Run Compilation 5. More on Compile 6. Test File Setup 7. Creating Campaign Instances 8. Testing Warmup 9. Accessing Mappings 10. Requiring Minimum Contributions 11. Array Getters 12. One End to End Test 13. Deployment 14. Refactoring Deployment
|
Advanced Multi-Page Front-Ends
1. App Mockups 2. CRA vs Next 3. Next’s Pages Architecture 4. Basics of Next Routing 5. Root Routes 6. CampaignFactory Instance 7. Getting a Test Campaign 8. Fetching Deployed Campaigns 9. Why Next.js, Anyways? 10. Server vs Client Web3 Instances 11. GetInitialProps Function 12. Semantic UI React 13. Card Group Setup 14. Rendering Card Groups 15. Adding CSS 16. Adding a Button 17. The Need for a Layout 18. The Layout Component 19. Assembling a Header 20. Constraining Content Width 21. Two Column Layout 22. Nested Routing 23. Final CSS Fix 24. Form Creation 25. Input Change Handlers 26. Form Submittal 27. Testing Submittal 28. Form Error Handling 29. Button Spinners 30. Routing Issues 31. Next Routes Setup 32. Automatic Navigation 33. Header Navigation 34. Routing to Campaigns 35. Restarting the Server 36. Route Mappings 37. Planning CampaignShow 38. Redeploying CampaignFactory 39. CampaignShow’s GetInitialProps 40. Accessing a Campaign 41. Summary Translation Layer 42. Custom Card Groups 43. One Card Per Property 44. The Contribute Form 45. Grid Layouts 46. Form State 47. Communicating the Campaign Address 48. Making a Contribution 49. Refreshing Contract Data 50. Spinners and Error Handlers 51. Listing Requests 52. Grids vs Columns 53. More Routing! 54. Request Creation Form 55. Creating a Request 56. Form Polish 57. Creating a Request 58. Requests One by One 59. Fancy Javascript 60. Small Typo! 61. Rendering a Table 62. Request Row Component 63. Request Row Content 64. Approvers Count Cell 65. Approving a Request 66. Finalizing Requests 67. Testing Finalization 68. Row Status Styling 69. Finishing Requests Index 70. Wrapup |
Basic React
1. Purpose of Boilerplate Projects 2. Environment Setup 3. Project Setup 4. JSX1 5. More on JSX4 6. ES6 Import Statements 7. ReactDOM vs React 8. Component Instances 9. Render Targets 10. Component Structure 11. Youtube Search API Signup 12. Export Statements 13. Class Based Components 14. Handling User Events 15. Introduction to State 16. State Continued 17. Controlled Components 18. Breather and Review 19. Youtube Search Response 20. Refactoring Functional Components to Class Components 21. Props 22. Building Lists with Map 23. List Item Keys 24. Video List Items 25. Detail Component and Template Strings 26. Handling Null Props 27. Video Selection 28. Styling with CSS 29. Searching for Videos 30. Throttling Search Term Input 31. React Wrapup 32. Vue Flavored Version
|