- Hello World Smart Contract
- Smart Contract to Store a Number
- Basic Counter (Increment / Decrement)
- Store and Retrieve a String
- Store an Array of Numbers
- Add Two Numbers Using a Smart Contract
- Return Sum of an Array
- Check if a Number is Even or Odd
- Contract with Multiple Public Variables
- Basic Struct with Person Info
- Array of Structs (e.g. Users)
- Simple Mapping of ID to Names
- Store and Retrieve a Boolean
- Add Two Structs Together
- Read from a Constant Variable
- Implement a Simple If-Else Logic
- Create a Modifier for Access Control
- Contract with Fallback Function
- Receive Ether in a Smart Contract
- Withdraw Ether from a Contract
- Payable Function Example
- Deploy a Contract with Initial Value
- Pass a Struct to Constructor
- Return Struct Data from a Function
- Emit a Basic Event
- Listen for an Event in Frontend
- Create a Smart Contract Wallet
- Simple Voting Contract (no validations)
- Mapping with Address to Balance
- Store User Info by Address
- Return Caller's Address (msg.sender)
- Basic Time Lock Using block.timestamp
- Restrict Function Call to Owner
- Only Allow Whitelisted Addresses
- Create and Access an Enum
- Create a Contract that Self-destructs
- Gas Estimation Experiment Contract
- Interact with Your Contract Using Remix
- Import OpenZeppelin and Use Ownable
- Send Ether to Another Address
- Log a Transaction Hash
- Basic Frontend with Ethers.js and MetaMask
- Simple Authentication Using msg.sender
- Simulate a Bank Deposit System
- Implement an Address Array
- Save Data to a Mapping and Fetch It
- Create and Use an Interface
- Set and Get User Profiles
- Get Block Number in a Function
- Store and Return an Ethereum Address
- Use Keccak256 Hash in Solidity
- String Comparison in Solidity
- Implement a Ternary Operation
- Basic Smart Contract Deployment Script using Hardhat
- Use Constructor to Initialize Variables
- Add Custom Errors and Reverts
- Smart Contract with Math Operations
- Chain Two Functions Together
- Return Multiple Values From a Function
- Store a Dynamic Array
- Create Contract Using Inheritance
- Basic DAO Voting System (No Token)
- Store and Retrieve Contract Deployment Time
- Compare Gas Cost for Struct vs Mapping
- Implement Simple Access Logs
- Generate and Store User ID (counter-based)
- Create and Track Unique Users
- Implement a Simple Calculator (Add, Sub, etc.)
- Contract that Sends Ether to msg.sender
- Simple Contract Pause/Unpause Functionality
- Assign Roles Manually (No Role Management System)
- Create Simple Wallet Contract with Balance
- Return msg.value from Payable Function
- Store IPFS Hashes in Smart Contract
- Add a Struct with Address and Balance
- Mapping of Usernames to Addresses
- Multi-variable Comparison in If Statements
- Create a Smart Contract-based Todo List
- Create and Use a Custom Data Type
- Add/Remove Items from an Array
- Get Total Count of Users Registered
- Use Loop to Sum Values in Array
- Add a Unique Key Check Before Insert
- Validate Simple Login using Address Mapping
- Create Dummy Data on Contract Deployment
- Emit Event When Data is Changed
- Use require/assert for Simple Checks
- Implement a Split Payment System
- Use block.number in Your Logic
- Return Address Type from a Function
- Use Interface to Call Another Contract
- Create a Mock Contract for Testing
- Deploy Contract and Interact with It on Goerli
- Estimate Gas Cost of Your Function
- Create & Query Simple On-chain Log
- Retrieve Contract's Ether Balance
- Create a Contract Factory Pattern
- Basic Signature Verification Logic
- Implement a Simple Loop Counter
- 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.