BetterFund is a decentralized crowdfunding platform built on the Ethereum blockchain, designed to provide enhanced security, transparency, and global accessibility. The platform is live on the Rinkeby Test Network and can be accessed here.
Crowdfunding has become a crucial method for raising funds, especially during crises like the COVID-19 pandemic. However, existing platforms have several limitations:
-
Security: Traditional platforms can be vulnerable to hacking despite encryption measures. Blockchain offers unparalleled security, as it has never been compromised.
-
Transparency and Anti-Fraud: Current platforms lack transparency regarding fund usage, leading to scams. Our platform ensures full transparency at every stage of the funding process to prevent misuse.
-
Global Contribution: Many platforms restrict contributions to specific countries. Using blockchain technology, BetterFund enables anyone in the world to contribute quickly and easily.
We were inspired by the CryptoRelief initiative, which raised nearly $1 billion for COVID relief in India through transparent and global crowdfunding.
- Frontend: Next.js, Chakra UI
- Blockchain: Solidity, Web3.js
-
Fork and Clone the Project:
git clone https://github.com/your-username/BetterFund.git cd BetterFund
-
Install Dependencies:
yarn install
-
Run the Application:
yarn dev
- Install MetaMask as a Google Chrome Extension and create an account.
- Get Rinkeby Test Ether:
- Share your Ethereum address on social media to request Ether: Rinkeby Faucet
- Alternatively, get free Ether by providing your Ethereum address: Rinkeby Faucet
- Create an Account on Infura.
- Create a
.env
File in the Ethereum directory with the following variables:MNEMONIC='Your mnemonic code' LINK='Your Infura endpoint link'
- Modify Solidity Files as needed.
- Compile the Contract:
node compile.js
- Deploy the Contract by navigating to the smart-contract directory and running:
node deploy.js
- Copy the contract deployment address and update it in the
factory.js
file.
- Copy the contract deployment address and update it in the
- Update
web3.js
with your Infura endpoint link.
The easiest way to deploy your Next.js app is to use the Vercel Platform. For more details, refer to the Next.js deployment documentation.
Here are some screenshots to help you understand the platform better: