Skip to content

A collection of 100 beginner-friendly Ethereum projects to help new developers learn Solidity, smart contracts, and core blockchain concepts through hands-on practice. Perfect for anyone starting their Web3 journey!

License

Notifications You must be signed in to change notification settings

zubairahm3d/Beginner-Level-Solidity-Projects

Repository files navigation

🧠 Ethereum / Solidity Projects (Beginner)

Basic Smart Contract Fundamentals (1-15)

  1. Hello World Smart Contract
  2. Smart Contract to Store a Number
  3. Basic Counter (Increment / Decrement)
  4. Store and Retrieve a String
  5. Store an Array of Numbers
  6. Add Two Numbers Using a Smart Contract
  7. Return Sum of an Array
  8. Check if a Number is Even or Odd
  9. Contract with Multiple Public Variables
  10. Basic Struct with Person Info
  11. Array of Structs (e.g. Users)
  12. Simple Mapping of ID to Names
  13. Store and Retrieve a Boolean
  14. Add Two Structs Together
  15. Read from a Constant Variable

Contract Logic and Control Flow (16-30)

  1. Implement a Simple If-Else Logic
  2. Create a Modifier for Access Control
  3. Contract with Fallback Function
  4. Receive Ether in a Smart Contract
  5. Withdraw Ether from a Contract
  6. Payable Function Example
  7. Deploy a Contract with Initial Value
  8. Pass a Struct to Constructor
  9. Return Struct Data from a Function
  10. Emit a Basic Event
  11. Listen for an Event in Frontend
  12. Create a Smart Contract Wallet
  13. Simple Voting Contract (no validations)
  14. Mapping with Address to Balance
  15. Store User Info by Address

Smart Contract Security and Access Control (31-45)

  1. Return Caller's Address (msg.sender)
  2. Basic Time Lock Using block.timestamp
  3. Restrict Function Call to Owner
  4. Only Allow Whitelisted Addresses
  5. Create and Access an Enum
  6. Create a Contract that Self-destructs
  7. Gas Estimation Experiment Contract
  8. Interact with Your Contract Using Remix
  9. Import OpenZeppelin and Use Ownable
  10. Send Ether to Another Address
  11. Log a Transaction Hash
  12. Basic Frontend with Ethers.js and MetaMask
  13. Simple Authentication Using msg.sender
  14. Simulate a Bank Deposit System
  15. Implement an Address Array

Data Storage and Retrieval (46-60)

  1. Save Data to a Mapping and Fetch It
  2. Create and Use an Interface
  3. Set and Get User Profiles
  4. Get Block Number in a Function
  5. Store and Return an Ethereum Address
  6. Use Keccak256 Hash in Solidity
  7. String Comparison in Solidity
  8. Implement a Ternary Operation
  9. Basic Smart Contract Deployment Script using Hardhat
  10. Use Constructor to Initialize Variables
  11. Add Custom Errors and Reverts
  12. Smart Contract with Math Operations
  13. Chain Two Functions Together
  14. Return Multiple Values From a Function
  15. Store a Dynamic Array

Smart Contract Development and Best Practices (61-75)

  1. Create Contract Using Inheritance
  2. Basic DAO Voting System (No Token)
  3. Store and Retrieve Contract Deployment Time
  4. Compare Gas Cost for Struct vs Mapping
  5. Implement Simple Access Logs
  6. Generate and Store User ID (counter-based)
  7. Create and Track Unique Users
  8. Implement a Simple Calculator (Add, Sub, etc.)
  9. Contract that Sends Ether to msg.sender
  10. Simple Contract Pause/Unpause Functionality
  11. Assign Roles Manually (No Role Management System)
  12. Create Simple Wallet Contract with Balance
  13. Return msg.value from Payable Function
  14. Store IPFS Hashes in Smart Contract
  15. Add a Struct with Address and Balance

Practical Smart Contract Applications (76-100)

  1. Mapping of Usernames to Addresses
  2. Multi-variable Comparison in If Statements
  3. Create a Smart Contract-based Todo List
  4. Create and Use a Custom Data Type
  5. Add/Remove Items from an Array
  6. Get Total Count of Users Registered
  7. Use Loop to Sum Values in Array
  8. Add a Unique Key Check Before Insert
  9. Validate Simple Login using Address Mapping
  10. Create Dummy Data on Contract Deployment
  11. Emit Event When Data is Changed
  12. Use require/assert for Simple Checks
  13. Implement a Split Payment System
  14. Use block.number in Your Logic
  15. Return Address Type from a Function
  16. Use Interface to Call Another Contract
  17. Create a Mock Contract for Testing
  18. Deploy Contract and Interact with It on Goerli
  19. Estimate Gas Cost of Your Function
  20. Create & Query Simple On-chain Log
  21. Retrieve Contract's Ether Balance
  22. Create a Contract Factory Pattern
  23. Basic Signature Verification Logic
  24. Implement a Simple Loop Counter
  25. Minimal NFT Skeleton with Hardcoded Metadata (no OpenZeppelin)

These beginner-level projects are ideal for learning the basics of Ethereum smart contract development using Solidity. They introduce fundamental concepts like data types, access control, events, mappings, and gas optimization — all essential for your journey into blockchain development.

About

A collection of 100 beginner-friendly Ethereum projects to help new developers learn Solidity, smart contracts, and core blockchain concepts through hands-on practice. Perfect for anyone starting their Web3 journey!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published