Cryptocurrency
Build Your Own Cryptocurrency - A comprehensive course on blockchain, cryptography, Ethereum, and ERC-20 token development
Information
| Property | Value |
|---|---|
| Language | TeX |
| Stars | 0 |
| Forks | 0 |
| Watchers | 0 |
| Open Issues | 0 |
| License | No License |
| Created | 2026-01-25 |
| Last Updated | 2026-03-25 |
| Last Push | 2026-03-20 |
| Contributors | 1 |
| Default Branch | main |
| Visibility | private |
Notebooks
This repository contains 22 notebook(s):
| Notebook | Language | Type |
|---|---|---|
| NB01_Blockchain_Code_Demo | PYTHON | jupyter |
| NB01_Cryptography_Code_Demo | PYTHON | jupyter |
| NB02_SHA256_Avalanche_Interactive | PYTHON | jupyter |
| NB01_Ethereum_Code_Demo | PYTHON | jupyter |
| NB02_Gas_Mechanics_Interactive | PYTHON | jupyter |
| NB01_ERC20_Code_Demo | PYTHON | jupyter |
| NB02_Token_Economics_Interactive | PYTHON | jupyter |
| 01_blockchain_fundamentals | PYTHON | jupyter |
| 02_cryptography_security | PYTHON | jupyter |
| 03_ethereum_contracts | PYTHON | jupyter |
| 04_erc20_tokens | PYTHON | jupyter |
| 05_defi_fundamentals | PYTHON | jupyter |
| 06_nft_digital_assets | PYTHON | jupyter |
| 07_stablecoins_cbdcs | PYTHON | jupyter |
| 08_crypto_trading_markets | PYTHON | jupyter |
| 09_dao_governance | PYTHON | jupyter |
| 10_layer2_scaling | PYTHON | jupyter |
| 11_rwa_tokenization | PYTHON | jupyter |
| 12_tokenomics_mechanism | PYTHON | jupyter |
| 13_privacy_zk_proofs | PYTHON | jupyter |
| 14_smart_contracts | PYTHON | jupyter |
| deploy_token | PYTHON | jupyter |
Datasets
This repository includes 7 dataset(s):
| Dataset | Format | Size |
|---|---|---|
| continuation-count.json | .json | 0.06 KB |
| ralph-state.json | .json | 0.4 KB |
| ralplan-state.json | .json | 0.39 KB |
| ultrawork-state.json | .json | 0.27 KB |
| course_inventory.json | .json | 71.33 KB |
| package.json | .json | 0.58 KB |
| package.json | .json | 1.44 KB |
Reproducibility
This repository includes reproducibility tools:
- Python requirements.txt
Status
- Issues: Enabled
- Wiki: Enabled
- Pages: Enabled
README
Build Your Own Cryptocurrency
BSc Level Course - 4 Lessons
A comprehensive hands-on course teaching blockchain fundamentals through building a fully functional ERC-20 cryptocurrency token.
Course Overview
This 4-lesson course takes students from blockchain basics to creating and deploying their own cryptocurrency on Ethereum. Each lesson combines theoretical concepts with practical implementation, culminating in a final project where students design and deploy their own custom token.
Total Duration: 180 minutes (4 x 45 minutes) Level: Undergraduate (BSc) Prerequisites: Basic programming knowledge (Python/JavaScript)
Interactive Notebooks
Each lesson includes interactive notebooks you can run directly in Google Colab.
Lesson 1: Blockchain Fundamentals
| Notebook | Topic | Open in Colab |
|---|---|---|
| NB01 Blockchain Code Demo | Build blocks, chains, and proof of work |
Lesson 2: Cryptography & Security
| Notebook | Topic | Open in Colab |
|---|---|---|
| NB01 Cryptography Code Demo | Hashing, signatures, wallets | |
| NB02 SHA-256 Avalanche Interactive | Experiment with the avalanche effect |
Lesson 3: Ethereum & Smart Contracts
| Notebook | Topic | Open in Colab |
|---|---|---|
| NB01 Ethereum Code Demo | Web3 interaction, Sepolia testnet | |
| NB02 Gas Mechanics Interactive | Calculate and compare gas costs |
Lesson 4: ERC-20 Token Creation
| Notebook | Topic | Open in Colab |
|---|---|---|
| NB01 ERC-20 Code Demo | Token testing and deployment | |
| NB02 Token Economics Interactive | Model supply curves and tokenomics |
Lesson Structure
| Lesson | Title | Duration | Key Topics | Deliverable |
|---|---|---|---|---|
| 01 | Blockchain Fundamentals | 45 min | Blocks, Hash Chains, Merkle Trees, Consensus, Decentralization | Simple blockchain in Python |
| 02 | Cryptography & Security | 45 min | Hash Functions, Digital Signatures, Public/Private Keys, Wallets | Secure wallet implementation |
| 03 | Ethereum & Smart Contracts | 45 min | EVM Architecture, Gas, Solidity, Contract Lifecycle | First smart contract |
| 04 | ERC-20 Token Creation | 45 min | Token Standards, Deployment, Economics, Testing | Your own cryptocurrency |
Prerequisites
Required Knowledge
- Basic programming experience (any language)
- Understanding of functions, variables, and loops
- Command line familiarity
- No prior blockchain experience needed
Software Requirements
- Python 3.10+ - For blockchain fundamentals
- Node.js 16+ - For Ethereum development
- Git - For cloning repository
- Code Editor - VS Code recommended
Recommended Resources
Quick Start
1. Clone Repository
2. Install Python Dependencies
This installs:
- ecdsa - Elliptic curve cryptography
- web3 - Ethereum interaction
- matplotlib & numpy - Data visualization
- Pillow - Image processing
3. Install Node Dependencies
This installs:
- hardhat - Ethereum development environment
- @nomicfoundation/hardhat-toolbox - Testing and deployment tools
- @openzeppelin/contracts - Secure token contracts
4. Run Python Blockchain Examples
# Lesson 01 - Build a simple blockchain
python 01_blockchain_fundamentals/code/blockchain.py
# Lesson 02 - Create a wallet with signatures
python 02_cryptography_security/code/wallet.py
5. Deploy Your Token
# Start local Ethereum node (keep terminal open)
npx hardhat node
# In a new terminal, deploy the token
npx hardhat run 04_erc20_token_creation/code/deploy.js --network localhost
# Run tests
npx hardhat test
Repository Structure
cryptocurrency-course/
│
├── 01_blockchain_fundamentals/ # Lesson 1: Blockchain Basics
│ ├── 01_blockchain_structure/ # Block anatomy
│ ├── 02_hash_chain/ # Cryptographic linking
│ ├── 03_merkle_tree/ # Efficient verification
│ ├── 04_consensus_comparison/ # PoW vs PoS
│ ├── 05_decentralization/ # Network topology
│ └── code/ # Python blockchain implementation
│
├── 02_cryptography_security/ # Lesson 2: Crypto & Security
│ ├── 01_hash_function/ # SHA-256 basics
│ ├── 02_sha256_avalanche/ # Avalanche effect demo
│ ├── 03_public_private_keys/ # Asymmetric cryptography
│ ├── 04_digital_signature_flow/ # Signing & verification
│ ├── 05_wallet_architecture/ # Wallet structure
│ └── code/ # Python crypto implementation
│
├── 03_ethereum_smart_contracts/ # Lesson 3: Ethereum & Solidity
│ ├── 01_ethereum_architecture/ # EVM overview
│ ├── 02_gas_mechanics/ # Gas pricing
│ ├── 03_smart_contract_lifecycle/ # Deployment flow
│ ├── 04_solidity_types/ # Data types
│ ├── 05_contract_interaction/ # Calling contracts
│ └── code/ # Solidity examples
│
├── 04_erc20_token_creation/ # Lesson 4: Create Your Token
│ ├── 01_erc20_interface/ # ERC-20 standard
│ ├── 02_token_flow/ # Transfer mechanics
│ ├── 03_approval_allowance/ # Delegated transfers
│ ├── 04_deployment_steps/ # Deployment guide
│ ├── 05_token_economics/ # Tokenomics design
│ └── code/
│ ├── MyToken.sol # Example ERC-20 contract
│ └── deploy.js # Deployment script
│
├── assessments/ # Course Assessments
│ ├── final_report_template.md # Final project template
│ └── README.md # Assessment guidelines
│
├── project/ # Final Project Scaffold
│ ├── contracts/ # Student token contracts
│ ├── scripts/ # Deployment scripts
│ ├── test/ # Test files
│ └── hardhat.config.js # Project configuration
│
├── .github/workflows/ # CI/CD automation
├── hardhat.config.js # Main Hardhat config
├── package.json # Node dependencies
├── requirements.txt # Python dependencies
└── README.md # This file
Learning Outcomes
By completing this course, students will be able to:
Technical Skills
- ✅ Build a blockchain from scratch in Python
- ✅ Implement cryptographic hash functions and digital signatures
- ✅ Write and deploy Solidity smart contracts
- ✅ Create ERC-20 compliant cryptocurrency tokens
- ✅ Test contracts using Hardhat framework
- ✅ Deploy to local and public Ethereum networks
Conceptual Understanding
- ✅ Explain blockchain immutability and consensus mechanisms
- ✅ Analyze security properties of cryptographic primitives
- ✅ Evaluate trade-offs in token economics
- ✅ Design decentralized applications (dApps)
Final Project
Students create their own cryptocurrency with:
- Custom Token Contract - Unique name, symbol, and supply
- Advanced Features - Minting, burning, or pausing capabilities
- Test Suite - Comprehensive unit tests
- Deployment - To testnet (Sepolia/Goerli)
- Technical Report - Architecture and design decisions
Submission: See assessments/final_report_template.md
Additional Resources
Documentation
- Ethereum Yellow Paper - Technical specification
- ERC-20 Token Standard - Official EIP
- OpenZeppelin Contracts - Security best practices
Tools
Community
Troubleshooting
Python Issues
# Install specific version
pip install ecdsa==0.18.0
# Use virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
Node/Hardhat Issues
# Clear cache and reinstall
rm -rf node_modules package-lock.json
npm install
# Reset Hardhat network
npx hardhat clean
Common Errors
- "Module not found" - Run
npm installorpip install -r requirements.txt - "Network not running" - Ensure
npx hardhat nodeis running in separate terminal - "Gas estimation failed" - Check contract syntax or increase gas limit
Contributing
This course material is open for contributions:
- Fork the repository
- Create a feature branch (
git checkout -b feature/improvement) - Commit changes (
git commit -m 'Add new example') - Push to branch (
git push origin feature/improvement) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Ethereum Foundation - For blockchain infrastructure
- OpenZeppelin - For secure contract libraries
- Hardhat - For development tooling
- Students & Contributors - For feedback and improvements
Contact
For questions or feedback: - Issues: GitHub Issues - Discussions: GitHub Discussions
Ready to build your cryptocurrency? Start with Lesson 01: Blockchain Fundamentals!