Project Description ChainLinker is a decentralized crowdfunding platform built to eliminate the "black box" of traditional fundraising. By leveraging Ethereum smart contracts, ChainLinker ensures that every donation is transparently recorded on-chain and that funds are only accessible to the verified project owner. This removes the need for high-fee intermediaries and provides donors with absolute certainty regarding where their contributions are held.
How it Works Deployment: Creators deploy a crowdfunding campaign by providing a title, description, and goal amount.
On-Chain Storage: All project data is stored within a Solidity smart contract on the Sepolia testnet.
Contribution: Supporters donate ETH directly through the dApp via MetaMask.
Security: Funds are held by the contract itself. The withdrawFunds function uses a strict require check to ensure only the project’s owner address can claim the raised ETH.
The Tech Stack Blockchain: Solidity (Smart Contracts), Hardhat (Development Environment).
Frontend: Next.js (React), Tailwind CSS (UI/UX).
Web3 Integration: Ethers.js (v6) for seamless wallet connection and contract interaction.
Hosting: Vercel for the frontend deployment.
Challenges & Solutions The "Handshake" Challenge: One of the biggest hurdles was maintaining the sync between the local ABI and the rapidly evolving contract deployments. I solved this by implementing a strict deployment-to-frontend workflow to ensure the ethers.Contract interface always matched the latest on-chain bytecode.
Data Integrity: Handling Web3 state (like converting BigInt values to readable ETH) required careful formatting to ensure the UI remained user-friendly while maintaining mathematical precision.
Built With
- ethers.js
- hardhat
- metamask
- next.js
- sepolia
- solidity
- tailwind-css
- vercel
Log in or sign up for Devpost to join the conversation.