Labs for the course BCDV1002 - Introduction to Blockchain - Security Practices from Blockchain Development program from George Brown College
This course covers a set of security best practices and possible flaws in developing smart contracts.
-
- Randomness, hash functions and signatures.
- Learn how to create a valid Ethereum address.
-
- Transactions, blocks and nodes, interfaces
- Simulate an Ethereum transaction with ganache-cli and metamask.
-
- Structure, programming, data-structures
- Security practices for smart contracts using remix.
-
- Threat models, contract interactions, on-chain randomness, re-entrancy
- Perform a hack exploring smart contracts flaws.
-
- Input handling, on-chain/off-chain
- Modify a smart contract and an off-chain program to make them secure preventing replay attacks and cross-contract spends.
- Ethers.js - interact with smart contracts
- Ethereumjs-util - utility functions for Ethereum
- Ganache-CLI - blockchain emulator
- Metamask - crypto wallet
- Remix - suite of tools for smart contracts
- Doug Hoyte - course website for BCDV1002