A blockchain based distributed crowdfunding platform. The goal of this project is to implement a decentralized crowdfunding platform that can be used to raise funds for any project.
This project is a proof of concept to learn the basics of blockchain technology and solidity development. The project is not intended to be a fully functional decentralized crowdfunding platform.
Contributors:
The economy of the platform is based on a token called BFD. The token is a digital asset that can be used to donate/receive funds. This token is based on the ERC20 standard.
Since the project is a proof of concept, the token has been deployed in the ropsten testnet with a total supply of 100,000,000 $BFD. $BFD in the explorer.
All the logic of the crowdfunding is deployed in the Crowdfunding smart contract (refer to the widely-commented source file to understand the logic). This contract is also deployed in the rospten testnet. See the Crowdfunding smart contract in the explorer.
Install dependencies by running:
npm install
Note:
npm
was requiring sudo permissions to install packages and throwing errors all the time. I did the following steps to make it work:
-
Completely uninstall node from the system (this link was the only that truly completely removed node and npm from the system)
-
Install
node
usingnvm
. I installed the last LTS version of node.
Then run the following commands to deploy the contracts:
npm run run:all
This will compile the Crowdfunding.sol
file and deploy the smart contract to the ganache blockchain when it is already up and working. Finally it sets up the front-end server.