Siid (pronounced seed) is decentralized crowdfunding application that allows campaign backers to vote on how funding is spent by the campaign owners. The objective is to bring complete transparency to crowdfunding and mitigate fraudulent campaigns.
- User clicks on create campaign
- Complete campaign creation form i.e title, description, funding goal etc.
- Campaign owner clicks on create request
- Completes the form, description, amount and the address the funds will be sent to.
- Campaign owner must wait until at least 51% of backers support the spend request.
- Submits the payment to receiving address.
- Campaign backer clicks on the fund me button
- Submit amount they wish to fund the campaign, must be the same or more than the minimum set by the campaign owner.
- Campaign backers have the option to approve/vote for a purchase request made by the campaign owner, but clicking approve button.
- Next.js
- TailwindCSS
- Solidity
- Truffle & Ganache
- Vercel
client
- Next.js user facing frontendcontracts
- Solidity contracts for this projectmigrations
- Truffle deployment scriptsscripts
- Helper scriptstest
- Contract unit tests
- Node.js >= 14
- npm
- truffle
- ganache-cli
> git clone https://github.com/alexvanzyl/blockchain-developer-bootcamp-final-project.git
> npm install -g truffle
> npm install -g ganache-cli
> cd blockchain-developer-bootcamp-final-project
> npm install
> cd client
> npm install
1. Run ganache-cli
in a separate terminal (make sure to set the network ID to 5777. Default port is 8545)
> ganache-cli -i 5777
This will deploy the contracts locally and copy the artifacts to the client/src/contracts
directory.
> ./scripts/build
> cd client
> npm run dev
Access the client at http://localhost:3000/
> ganache-cli
> truffle test
alexvanzyl.eth (0xA03E33A4Be781F2D603E20a948C09A67a34b4Dd1)