The SimpleStorage DApp is a basic smart contract built to store and retrieve a number on the blockchain. This project demonstrates expertise in Solidity, Foundry, and Ethereum blockchain development. It is designed as a professional showcase of skills in smart contract creation, deployment, and interaction.
- Network: Sepolia Testnet
- Contract Address: 0x986e9dbc23e5921ec9455d3be21bf821489c2
- Transaction Hash: Transaction Hash
-
Store and Retrieve Data
- Store a number (
uint256) and retrieve it securely on-chain.
- Store a number (
-
Event Emission
- Emits an event whenever the stored number is updated.
-
Gas Optimization
- Efficient design to minimize gas usage during interactions.
-
Smart Contract Development
- Written in Solidity with clean and maintainable code.
- Implements event-driven architecture and state management.
-
Testing & Debugging
- Comprehensive unit tests with Foundry to ensure functionality and reliability.
-
Deployment Workflow
- Deployed on Sepolia Testnet using automated Foundry scripts.
-
Blockchain Interaction
- Real-time interaction with deployed contracts via scripts and command-line tools.
-
Version Control
- Managed in a professional GitHub repository with clear documentation.
-
Clone the Repository
git clone https://github.com/NishantCoder108/SimpleStorageDApp.git cd SimpleStorageDApp -
Run Tests Locally
forge test -
Deploy Locally
anvil forge script script/DeploySimpleStorage.s.sol --rpc-url http://127.0.0.1:8545 --private-key <PRIVATE_KEY> --broadcast
-
Deploy to Testnet
forge script script/DeploySimpleStorage.s.sol --rpc-url <INFURA_URL> --private-key <PRIVATE_KEY> --broadcast
-
Set Data
Update the stored number on the Sepolia Testnet:cast send 0x986e9dbc23e5921ec9455d3be21bf821489c2 "setNumber(uint256)" 108 --rpc-url <INFURA_URL> --private-key <PRIVATE_KEY>
-
Get Data
Retrieve the stored number:cast call 0x986e9dbc23e5921ec9455d3be21bf821489c2 "getNumber()" --rpc-url <INFURA_URL>
This project demonstrates:
- Proficiency in building decentralized applications.
- Expertise in blockchain fundamentals like testing, deployment, and on-chain interactions.
- Ability to deliver high-quality code and documentation for professional use.
It serves as a foundation to showcase readiness for building complex smart contracts and decentralized solutions.