This is decentralized fundraising application built on the Ethereum blockchain. This is an application where projects are posted with a target funding amount and then people,in this sense contributors, fund projects that they will like to invest in. These projects might be blockchain involved or other things like charity work and building communities. This application can be used for different types of fundraising like Donation based fundraising where contributors make charitable donations to support a cause without expecting financial returns or rewards or a Reward based fundraising where contributors receive non-financial rewards in exchange for their support. These rewards can range from early access to products, exclusive content or incentives. This application can be used by DAO to get funds for innovative projects or events that need funding from members.
- Smart Contract: The application ensures security and transparency by using smart contract for storing data and collecting contributions.
- Decentralized Project Funding: The Admin i.e the person that deployed the contract to the blockchain can create project campaigns without the need of centralized authority for receiving the contribution or storing the data.
- User Friendly Interface: The application is built with react and it provides an intuitive and responsive user interface for easy interaction.
- Detailed Project Information: The application show detailed Information of projects and what it is about. this will help influence the mind of contributors
- Python
- Node Js
- Brownie (python)
- Solidity
- npm/yarn
Note: the smart contract can be deployed with brownie if user has experience with brownie or it could be copied from the contracts/contract folder and sent to remix for deployment and then replace the content of the abi.json file in the frontend/src folder with the abi and contract in an json format and seen in the abi.json file. The main contrat to be deployed is the CrowndFundFactory.sol with the CrowdFund.sol as its dependency.
Note: you can skip to no. 12 if you want to perform the actions specified by the previous note.
- Choose a folder for the project
- Open cmd or bash in the project directory
- Create a virtual environment (make sure you have python installed and virtualenv installed as a pip package)
virtualenv env
- if you dont virtualenv installed, you can install it by running
pip install virtualenv
- Activate the virtualenv, run
env\Scripts\activate
- Clone the project
git clone https://github.com/codebestia/CrowdFundUs.git
- Go to the project directory
cd CrowdFundUs
- Install dependencies for brownie
cd contract
pip install -r requirements.txt
-
Create a .env file and add the following environment variables to the file
PRIVATE_KEY
- your wallet account private key that will be used to deploy the project -
Add lightlink network (for deploying to lightlink blockchain)
brownie networks add lightlink-pegasus host=https://replicator.pegasus.lightlink.io/rpc/v1 chainid=1891 explorer=https://pegasus.lightlink.io/
- Compile the smart contract with brownie
brownie compile
brownie run scripts/deploy --network lightlink-pegasus
Note: if you want to deploy to other networks replace lightlink-pegasus with the name of the network. run
brownie networks list
to see all available network
- Install the dependencies for react
cd frontend # navigate into the frontend in the CrowdFundUs folder
npm install # or yarn install
- Start the react server
npm run start
- Access the application at http://localhost:3000 in your web browser.
- Connect your Ethereum wallet to the application.
- Explore existing projects.
- Create Project (for admins)
- Contribute to projects that align with your interests.
- Monitor the progress of projects through the admin dashboard. (for admins)
This project is licensed under the MIT License.