Skip to content

A comprehensive repository documenting my blockchain and smart contract development journey through Alchemy University's Ethereum Bootcamp and Patrick Collins' Solidity courses

Notifications You must be signed in to change notification settings

Alexander-NM/web3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Web3 Learning Journey

A comprehensive repository documenting my blockchain and smart contract development journey through Alchemy University's Ethereum Bootcamp and Patrick Collins' Solidity courses.

πŸ“š Learning Platforms

1. Alchemy University - Ethereum Developer Bootcamp

An intensive program covering blockchain fundamentals, Ethereum development, and decentralized application (dApp) creation.

2. Patrick Collins - Solidity & Smart Contract Development

Following Patrick Collins' comprehensive blockchain development course, focusing on Hardhat, smart contract testing, and best practices.


πŸ—‚οΈ Repository Structure

Alchemy Ethereum Bootcamp

Week 1: ECDSA & Digital Signatures

Project: ECDSA Node

  • Implementation of Elliptic Curve Digital Signature Algorithm
  • Client-server architecture for transaction signing
  • Understanding public key cryptography and wallet authentication

Week 2: Blockchain & Cryptography Fundamentals

Project: Gift List (Merkle Trees)

  • Merkle tree implementation and verification
  • Proof generation and validation
  • Cryptographic data structures in blockchain

Week 3: Ethereum & JSON-RPC

Projects:

  • JSON-RPC Activity: Interacting with Ethereum nodes
  • Block Explorer: Building a blockchain data viewer
  • Transaction Signing: Understanding and implementing transaction flows

Week 4: Smart Contracts with Hardhat

Topics Covered:

  • Hardhat development environment setup
  • Contract compilation and deployment
  • Testing smart contracts
  • Modifying contract state
  • Contract interactions with ethers.js

Projects:

  • au-hardhat-practice/: Core Hardhat concepts
  • modify-contract-state/: State management in contracts
  • Test_exercise/: Writing comprehensive tests
  • Work with contract/: Contract interaction patterns

Week 5: Advanced Smart Contract Development

Project: Contract Puzzles & Escrow

  • Solving smart contract challenges
  • Implementing escrow functionality with Hardhat
  • Security considerations and best practices
  • Local Hardhat Games: Interactive learning challenges

Week 6: Token Standards

Topics:

  • ERC-20 token implementation
  • Token creation and deployment
  • ERC-20 Token Indexer project
  • NFT minting and standards

Week 7: Advanced Patterns

Topics:

  • Governance contracts
  • Upgradeable contracts
  • Proxy patterns (Transparent, UUPS)
  • Storage layouts and collision avoidance

Patrick Collins Course

1. Simple Storage (Ethers.js)

Location: ethers-simple-storage-fcc/

  • Basic interaction with smart contracts using ethers.js
  • Contract deployment from JavaScript
  • Environment variable management and key encryption
  • Reading and writing to blockchain

Key Files:

  • deploy.js: Contract deployment script
  • encryptKey.js: Secure key management
  • SimpleStorage.sol: Basic storage contract

2. Hardhat Simple Storage

Location: Git_hardhat-simple-storage-fcc/ & my_hardhat-simple-storage-fcc/

  • Hardhat framework fundamentals
  • Testing with Chai and Mocha
  • Task automation
  • Gas reporting and optimization
  • Code coverage analysis

Features:

  • Custom Hardhat tasks
  • Comprehensive test suites
  • Coverage reports
  • Gas consumption analysis

3. Hardhat Fund Me

Location: hardhart-fund-me-fcc/

  • Building a crowdfunding/donation contract
  • Chainlink price feeds integration
  • Mock contracts for testing
  • Multi-network deployment
  • Deployment scripts with hardhat-deploy

Key Concepts:

  • Price feed oracles
  • Withdrawal patterns
  • Owner-only functions
  • Testing with fixtures
  • Network configuration

πŸ› οΈ Technologies & Tools

  • Blockchain: Ethereum, EVM-compatible chains
  • Languages: Solidity, JavaScript
  • Frameworks: Hardhat, Ethers.js
  • Testing: Chai, Mocha, Waffle
  • Tools:
    • Alchemy SDK & API
    • Chainlink (Price Feeds, VRF)
    • OpenZeppelin contracts
    • Hardhat plugins (deploy, gas-reporter, coverage)

🎯 Key Learning Outcomes

Blockchain Fundamentals

  • βœ… Cryptographic primitives (hashing, signatures)
  • βœ… Blockchain architecture and consensus
  • βœ… Transaction lifecycle and validation
  • βœ… Merkle trees and data structures

Smart Contract Development

  • βœ… Solidity programming and best practices
  • βœ… Contract design patterns
  • βœ… Security considerations
  • βœ… Gas optimization techniques
  • βœ… Upgradeable contract patterns

Development Tools

  • βœ… Hardhat development environment
  • βœ… Contract testing and coverage
  • βœ… Deployment automation
  • βœ… Network configuration
  • βœ… Contract verification

Token Standards

  • βœ… ERC-20 token implementation
  • βœ… NFT standards and minting
  • βœ… Token indexing and tracking

Advanced Topics

  • βœ… Oracle integration (Chainlink)
  • βœ… Proxy patterns and upgrades
  • βœ… Governance mechanisms
  • βœ… DeFi patterns (escrow, crowdfunding)

πŸš€ Getting Started

Prerequisites

node --version  # v16+ recommended
npm --version   # v8+

Installation

  1. Clone the repository
git clone https://github.com/Alexander-NM/web3.git
cd web3
  1. Navigate to a specific project
cd "Alchemy_eth_bootcamp/Week_4/au-hardhat-practice"
# or
cd "Patrick Collins/hardhart-fund-me-fcc"
  1. Install dependencies
npm install
  1. Set up environment variables
cp .env.example .env
# Add your private keys, API keys, etc.

Running Projects

Compile contracts:

npx hardhat compile

Run tests:

npx hardhat test

Deploy locally:

npx hardhat run scripts/deploy.js --network localhost

Generate coverage:

npx hardhat coverage

πŸ“ Project Highlights

πŸ† Merkle Tree Gift List

A practical implementation of Merkle trees for efficient verification, demonstrating:

  • Proof generation and verification
  • Client-server architecture
  • Cryptographic data structures in action

πŸ† ECDSA Node

Secure transaction system using elliptic curve cryptography:

  • Digital signature generation
  • Transaction validation
  • Public key infrastructure

πŸ† Hardhat Fund Me

Full-featured crowdfunding contract:

  • Chainlink price feed integration
  • Multi-network deployment
  • Comprehensive testing suite
  • Gas-optimized withdrawals

πŸ”’ Security Notes

  • Never commit private keys or sensitive data
  • Use .env files for secrets (add to .gitignore)
  • Always test contracts thoroughly before mainnet deployment
  • Follow smart contract security best practices
  • Use established libraries (OpenZeppelin) when possible

πŸ“š Resources

Alchemy University

Patrick Collins

Additional Resources


πŸŽ“ Course Progress

  • Week 1: ECDSA & Digital Signatures
  • Week 2: Blockchain Fundamentals & Merkle Trees
  • Week 3: Ethereum & JSON-RPC
  • Week 4: Smart Contracts with Hardhat
  • Week 5: Advanced Smart Contract Development
  • Week 6: Token Standards (ERC-20, NFTs)
  • Week 7: Governance & Upgradeable Contracts
  • Patrick Collins: Simple Storage
  • Patrick Collins: Hardhat Fundamentals
  • Patrick Collins: Fund Me Project

🀝 Contributing

This is a personal learning repository, but suggestions and feedback are welcome! Feel free to:

  • Open issues for questions or discussions
  • Suggest improvements to implementations
  • Share additional learning resources

πŸ“„ License

This repository is for educational purposes. Individual projects may have their own licenses.


πŸ™ Acknowledgments

  • Alchemy University for the comprehensive Ethereum Developer Bootcamp
  • Patrick Collins for the excellent free blockchain development course
  • OpenZeppelin for secure smart contract libraries
  • Chainlink for decentralized oracle solutions
  • The entire Web3 community for open-source contributions

Happy Learning! πŸš€

This repository represents an ongoing journey in blockchain development. Each project builds upon previous knowledge, creating a comprehensive understanding of Web3 technologies.

About

A comprehensive repository documenting my blockchain and smart contract development journey through Alchemy University's Ethereum Bootcamp and Patrick Collins' Solidity courses

Topics

Resources

Stars

Watchers

Forks