CrowdXfund is a revolutionary blockchain-based crowdfunding decentralized application (DApp) that empowers individuals and organizations to launch, manage, and participate in crowdfunding campaigns with unprecedented security, transparency, and efficiency.
Crowdfunding is one of the most popular ways to raise funds for any project, cause or for helping any individual in need. With the onset of Covid we have seen a rise in Crowdfunding activities across the globe which includes small campaigns to help people get oxygen and medical help to large funds such as PM Cares.
The major problems with the Current Crowdfunding Platforms that we wanted to solve were :
- Security : As the funds become larger, they need to be heavily secure, although stringent measures such as symmetric encryption are in place to make e-payment safe and secure,it is still vulnerable to hacking. Blockchain — which has never been compromised yet — can provide that level of security.
- Transparency and Anti-Fraud : We have seen, and continue to see a lot of crowdfunding scams happening around. There is no way to see where the funds are being used. We wanted to make the entire flow of funds transparent at every stage, so that there is no possibility of the money being misused.
- Global contribution : With some of the platforms being country specific, it becomes hard for people from other countries to contribute to various campaigns. Using blockchain anyone in the world can contribute to the campaign. Transactions are quick and convenient.
We were highly inspired by the CryptoRelief initiative (www.cryptorelief.in) which raised ~1 billion dollars for Covid Relief in India from the entire global community, in a highly transparent manner.
- A Presentation on the Application can be found here
- Next JS
- Chakra UI
- Solidity
- Web3.js
- Polygon (Matic)
- infura
- Hardhat
- Fork & clone the Project
- run
npm install
to install all the dependencies - run
npm run dev
to run the application locally
- Install Metamask as Google Chrome Extension and Create an account.
- Request Ether by sharing your ethereum address in social media
(https://faucet.rinkeby.io/)
- Get 0.01 ether free by giving the ethereum address
(http://rinkeby-faucet.com/)
-
Create an account in https://infura.io
-
Create .env file and add these line to it.
NEXT_PUBLIC_RPC_URL= NEXT_PUBLIC_PRIVATE_KEY= NEXT_PUBLIC_ADDRESS= NEXT_PUBLIC_IPFS_ID= NEXT_PUBLIC_IPFS_KEY= '
-
Do the Changes that you want to do inside the Solidity File
-
Compile the Contract
node compile.js
-
Deploy Contract by going into smart-contract Directory and run.
node deploy.js
Copy the contract deploy address and replace it in factory.js file.
-
Replace your "infura end point link" in web3.js file
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
This is a Next.js project bootstrapped with create-next-app
.
First, run the development server:
npm run dev
# or
yarn dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying pages/index.js
. The page auto-updates as you edit the file.
API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.js
.
The pages/api
directory is mapped to /api/*
. Files in this directory are treated as API routes instead of React pages.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.