I’ve written a preliminary simple crowdfunding contract in Ethereum to incentivize the open sourcing of several (GPU) miners for Zcash, such as those by Toomim Brothers and Tromp. This is independent of the official Zcash Open Source mining contest.
Solidity contract and github repo here.
Web interface tracking testnet contract.
The current features of the contract are:
- A single arbiter must approve before the deadline.
- If the goal is not met after the deadline, all backers can safely withdraw their contributions, guarded against re-entrant attacks.
- It supports multiple beneficiaries with an even split if the goal is met
- Beneficiaries and backers must initiate withdrawal to pay for gas costs.
Currently, it requires a trusted arbiter to hold the source code in escrow, verify that the code works, and then release it if the goal is met by the deadline.
These features are subject to change based on the actual projects that are being crowdfunded.
The same contract can be instantiated multiple times on the blockchain with different funding deadlines, funding goals, arbiters, and beneficiaries.
If you’d like to participate in a public testnet trial run as an arbiter or a beneficiary, please send me your testnet Ethereum address (either online or direct message).
If you’d like to be a testnet backer, you can get some free testnet Ether at the Zerogox faucet.