Skip to content

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

Contributors