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
Share this project:

Updates