spandan114
Crowdfunding-DAPP
JavaScript

Decentralized crowd funding platform where user can start fundraising , anyone can contribute & Fund riser need permission of contributor before withdrawing amount from contract .

Last updated Jun 26, 2026
83
Stars
34
Forks
3
Issues
0
Stars/day
Attention Score
46
Language breakdown
JavaScript 84.3%
Solidity 13.6%
CSS 2.1%
Files click to expand
README

Crowd funding

https://user-images.githubusercontent.com/55044734/164529677-27af29f2-96d6-4ce6-bb61-c1f0c63a3beb.mp4

Project features :bulb:

  • [x] User can start a fundraising.
  • [x] Anyone can contribute.
  • [x] End project if targeted contribution amount reached.
  • [x] Expire project if targeted amount not fulfills between deadline.
  • [x] Contributors can withdraw contributed amount if project expire.
  • [x] Owner need to request contributors for withdraw amount.
  • [x] Owner can withdraw amount if 50% contributors agree.
  • [x] Connect with waller.

Tech stack & packages used 📦

| package | explain | | ------------------------------------------------------------------- | --------------------------------------------------------------------- | | Next.js | For building frontend | | solidity | For writting smart contracts | | tailwind css | For building design | | ether.js | Web3 client (contract testing ). | | web3.js | Web3 client (Frontend Next.js). | | Chai | javascript testing framework. | | react-toastify | For Notification. | | hardhat | Ethereum development environment. | | Redux | For managing and centralizing application state. |


How to run :runner: :

  • Run hardhat node
npx hardhat node
  • Run test cases
npx hardhat test
  • Connect HardHat Account to Metamask
https://github.com/Thiru-Malai/Crowdfunding-DAPP/assets/73980589/f694a9ef-a035-4f2a-9763-98c90839e2b9
  • Deploy contract in local hardhat node
npx hardhat run scripts/deploy.js --network localhost
  • Run Next.js frontend
cd client
    npm run dev
  • Connect account to website

Web3.js


new web3.eth.Contract(jsonInterface[, address][, options])
.on('transactionHash', function(hash){ ... })
    .on('error', function(error){ ... })
contractName.events.EventName([options][, callback])
- An array with the past event Objects, matching the given event name and filter.
contractName.getPastEvents(EventName[, options][, callback])

Hardhat commands

npx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
node scripts/deploy.js
npx hardhat help
npx hardhat run scripts/deploy.js --network <network name>

© 2026 GitRepoTrend · spandan114/Crowdfunding-DAPP · Updated daily from GitHub