https://github.com/lorransutter/intro-bc-security-practices
Labs for BCDV1002 - Intro to Blockchain - Security Practices
https://github.com/lorransutter/intro-bc-security-practices
blockchain cryptography ethersjs security security-practices smart-contracts solidity
Last synced: 2 months ago
JSON representation
Labs for BCDV1002 - Intro to Blockchain - Security Practices
- Host: GitHub
- URL: https://github.com/lorransutter/intro-bc-security-practices
- Owner: LorranSutter
- Created: 2020-03-30T22:02:22.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-10T02:53:03.000Z (almost 2 years ago)
- Last Synced: 2025-01-01T05:30:03.525Z (4 months ago)
- Topics: blockchain, cryptography, ethersjs, security, security-practices, smart-contracts, solidity
- Language: JavaScript
- Homepage:
- Size: 32.2 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Intro to Blockchain - Security Practices
Labs for the course BCDV1002 - Introduction to Blockchain - Security Practices from [Blockchain Development](https://www.georgebrown.ca/programs/blockchain-development-program-t175/) program from [George Brown College](https://www.georgebrown.ca)## :pencil: Course outline
This course covers a set of security best practices and possible flaws in developing smart contracts.
- ### Lesson 01 - Cryptographic Primitives
- Randomness, hash functions and signatures.
- Learn how to create a valid Ethereum address.- ### Lesson 02 - Blockchain Architecture
- Transactions, blocks and nodes, interfaces
- Simulate an Ethereum transaction with [ganache-cli](https://github.com/trufflesuite/ganache-cli) and [metamask](https://metamask.io/).- ### Lesson 03 - Solidity Programming
- Structure, programming, data-structures
- Security practices for smart contracts using [remix](https://remix.ethereum.org/).- ### Lesson 04 - Smart Contract Security
- Threat models, contract interactions, on-chain randomness, re-entrancy
- Perform a hack exploring smart contracts flaws.- ### Lesson 05 - Full Stack Security
- 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.## :computer: Technologies
- [Ethers.js](https://docs.ethers.io/) - interact with smart contracts
- [Ethereumjs-util](https://www.npmjs.com/package/ethereumjs-util) - utility functions for Ethereum
- [Ganache-CLI](https://github.com/trufflesuite/ganache-cli) - blockchain emulator
- [Metamask](https://metamask.io/) - crypto wallet
- [Remix](https://remix.ethereum.org/) - suite of tools for smart contracts## :cookie: Credits
- [Doug Hoyte](https://hoytech.github.io/blockchain-security/) - course website for BCDV1002