/Crowdfunding-DAPP

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

Primary LanguageJavaScript

Crowd funding

demo.mp4

Project features 💡

  • User can start a fundraising.
  • Anyone can contribute.
  • End project if targeted contribution amount reached.
  • Expire project if targeted amount not fulfills between deadline.
  • Contributors can withdraw contributed amount if project expire.
  • Owner need to request contributors for withdraw amount.
  • Owner can withdraw amount if 50% contributors agree.
  • 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 🏃 :

  • Run hardhat node
    npx hardhat node
    
  • Run test cases
    npx hardhat test
    
  • Connect HardHat Account to Metamask
Hardhat.Account.Creation.mp4
  • 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


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>