Course curriculum
-
1
Link for Live Class
-
Link for Live Class
-
-
2
0- Introduction
-
Introduction to course
FREE PREVIEW -
Pre-requisites
FREE PREVIEW -
Help and Support : Discussion Community
-
-
3
1- Understanding Public Blockchain Security
-
1- Chapter Intro
-
2- Security Scope - Inside Public Blockchain
-
3- Communication Security
-
4- Computation Security (Lack of Zero Knowledge)
-
5- Wallet Security
-
6- Smart Contract Security
-
7- User Security - Mnemonic Phrase / Seed Phrase / Seed Words
-
8- MetaMask exercise using Mnemonics and importing private keys
-
-
4
2- A bedtime story of Smart Contract ( DAO Hack )
-
9- The DAO Story Intro
-
10- What is Decentralized Autonomous Organization (DAO)
-
11- The DAO Hack Story : (Part-1) An attack that has changed the Ethereum
-
12- The DAO Hack Story : (Part-2) The Soft-Fork
-
13- The DAO Hack Story : (Part-3) The Hard-Fork
-
14- Result of the Hack and Fork
-
-
5
3- Unit Testing of Smart Contract
-
15- Chapter Intro
-
16- Unit Testing in Mocha and Chai
-
17- Unit Testing Exercise Part-1
-
18- Unit Testing Exercise Part-2
-
19- Unit Testing Exercise Part-3
-
20- Unit Testing Exercise Part-4
-
-
6
4- Contract Best Practices
-
21- intro
-
22- Traditional vs Blockchain - Don’t compare with existing languages and trends
-
23- Be ready for any failure
-
24- Simplicity and readable
-
25- Secure Development Recommendations
-
26- Avoid State Change in External call
-
27- Handle errors in external calls
-
28- Don't delegatecall to untrusted code
-
29- Best Security Links for Ethereum
-
-
7
5- Security Patterns
-
30- Patterns intro
-
31- Re-Entrancy Attack and Checks-Effects-Interactions pattern
-
32- Remix Exercise - Checks-Effects-Interactions pattern
-
33- Restricting Access Pattern ( Modifiers and Functions )
-
34- Time Based Restriction
-
35- Time Based Restriction - Remix Exercise
-
36- Cost Based Restriction
-
37- Cost Based Restriction - Remix Exercise
-
38- Account Based Restriction
-
39- State Machine Pattern
-
40- State Machine Pattern - Remix Exercise
-
41- Circuit Breaker Pattern
-
42- Speed Bump Pattern
-
43- Ownable Pattern
-
44- Self Destruct
-
46- View functions and Gas Limits
-
45- Self Destruct - Remix Exercise
-
-
8
6- Oracle (Service Providers)
-
47- Oracle Chapter Intro
-
48- What is Oracle - (Refresh Oracle Understanding)
-
49- How Oracle retrieves data from the outside world?
-
50- Oracle Service Provider - Introducing "Provable"
-
51- Oracle Sample Code - How to get data from JSON based URL
-
52- Some Known Issues related to Fake Ethers and Oracle Callbacks
-
53- Oracle Exercise 1 - " Provable " Get USD value from JSON URL (Rest API Service)
-
54- Oracle Exercise 2 - "Provable" Get Random number data from the Oracle
-
55- Oracle Service Provider - Introducing " Chainlink "
-
56- Oracle Exercise 3 and 4 - " ChainLink " get USD value without URL and get external data from JSON API
-
-
9
7- Fallback and Received Solidity Functions
-
57- Chapter Intro
-
58- Introduction to Fallback Function
-
59- Ways to fallback function
-
60- Fallback function - Exercise Part-1
-
61- Fallback function - Exercise Part-2
-
62- Introduction to Receive Function
-
63- Receive Function - Exercise
-
-
10
8- Upgrade Patterns for Smart Contracts
-
64- Upgrade pattern chapter intro
-
65- Registry Pattern Introduction
-
66- Registry Pattern - Exercise
-
67- Registry Pattern Limitation
-
68- Eternal Storage Pattern Introduction
-
69- Eternal Storage Pattern- Exercise Part-1
-
70- Eternal Storage Pattern-Exercise Part-2
-
71- Eternal Storage Limitation and upgrade links
-
-
11
9- Final Thoughts on Role of Security
-
72- The End
-