An open API service indexing awesome lists of open source software.

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

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