A sandbox project to try out technologies from the Web3 development stack:
- Solidity (smart contract language)
- Mocha (JS test framework)
- Truffle (smart contract framework / environment), and
- Ganache (personal Ethereum blockchain)
The main goal is to create a crowdfunding Solidity smart contract that will allow users to:
- create funding campaigns (e.g. provide expected amount, ending time)
- donate to an open campaign
- withdraw donation (for example, the donator changes his/her mind)
- close the campaign before the ending time (with a freeze on the funds, in the case some donators change their mind)
- redeem the collected donations (also after a specific period of time)
Before executing the tests, run Ganache or another local blockchain daemon.
truffle test