This project is a decentralized crowdfunding application built using Vite, React.js, Hardhat, and ThirdWeb. It leverages the power of Web3 technology to enable trustless and transparent fundraising campaigns on the Ethereum blockchain.
Live Website - https://sweet-maamoul-0cd768.netlify.app/
- Project Overview
- Demo
- Features
- Technologies Used
- Getting Started
- Running the Application
- Running Tests
- Contributing
- License
Web3 Crowdfunding is a platform that allows users to create and participate in crowdfunding campaigns using cryptocurrency. It eliminates the need for intermediaries, such as banks or payment processors, by leveraging smart contracts deployed on the Ethereum blockchain. With this application, campaign creators can set funding goals and deadlines, while contributors can send their contributions directly to the smart contract. Once a campaign reaches its funding goal within the specified deadline, the funds are released to the creator.
- All campaigns
- Create a new campaign
- Campaign Stats
- All Your campaigns
- Fund a campaign
- Create and manage crowdfunding campaigns.
- Contribute to campaigns using Ethereum or compatible tokens.
- Track the progress of campaigns in real-time.
- Automatic fund release when the funding goal is reached.
- Refund contributors if the campaign fails to reach its goal within the deadline.
- Vite: Fast, opinionated web application build tool for React.js.
- React.js: A JavaScript library for building user interfaces.
- Hardhat: A development environment for Ethereum that allows writing, testing, and deploying smart contracts.
- ThirdWeb: A library that simplifies the interaction with smart contracts using Web3.js and ethers.js.
- Solidity: A contract-oriented programming language for writing smart contracts on the Ethereum platform.
To set up the project locally, please follow the steps below:
- Clone the repository:
git clone https://github.com/your-username/web3-crowdfunding.git
- Install the dependencies:
cd web3-crowdfunding
npm install
-
Configure your Ethereum network settings by creating a
.env
file in the root directory. You can use the.env.example
file as a template. -
Configure the deployment parameters for the smart contracts in the
hardhat.config.js
file. -
Customize the application by modifying the React components in the
src
directory.
To start the development server, run the following command:
npm run dev
This will start the Vite server, and the application will be accessible at http://localhost:3000
.
To run the smart contract tests, use the following command:
npx hardhat test
Contributions are welcome! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request to this repository.
Before contributing, please familiarize yourself with the contribution guidelines.
This project is licensed under the MIT License. Feel free to use, modify, and distribute the code as per the terms of this license.