The goal of this thesis is built a Crowdfunding Lottery application completely decentralized on the Ethereum network. With this Dapp people can create different lottery campaigns and also contribute to a specific campaign with some amount of money. When the lottery campaign ends up a random contributor will receive half of the money raised while the other money is used for a noble cause by the administrator of the campaign. This application has been developed by using the Ethereum test blockchain to offer people a fair chance to win a lottery but also to help for something good increasing the human welfare and improving the human society. It’s possible to create a crowdfunding lottery campaign used to donate part of the raised money to a charity, to an environmental cleaning company or to improve education in undeveloped countries.
Every person should change the world for the better and by using the practical application implemented and discussed in this thesis all have the possibility to do it.
- Frontend based on a ReactJS application which interact with web3 to talk with the Ethereum Blockchain
- Backend based on a truffle project which help on compiling/deploying smart contracts. Contract are deployed with ganache cli (local test blockchain) before using the test network of Ethereum
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Node.js and npm installed on your computer.
- ganache cli
- Metamask browser extension
- Clone the repository
git clone https://github.com/tomo93/crowdfunding-lottery-dapp.git
- Navigate to the project directory
cd crowdfunding-lottery-dapp
- Navigate to the react directory (appui)
cd appui
- Install the dependencies with:
npm install
- Run the react app with:
npm start
-
Execute ganache cli
-
Navigate to the backend truffle project
-
Compile and migrated contract on the ganache blockchain
- React
- Ethereum Test Network
- Truffle
- web3