Hacker News new | ask | show | jobs
by scientaster 3381 days ago
Basically a github maintainer can add their project to commiteth so that whenever someone posts an issue with a label "bounty" a bot posts an address. That address is an ethereum smart contract. People all around can send ETH to that address in order to add incentive to the fix. In Ethereum, contracts can have balances just like wallets.

When a pull request comes in that says it fixes that issue, the bot sees that. Through the smart contract it authorizes the package maintainer to disburse the funds to the fixer at the maintainer's discretion.

2 comments

It's a neat idea, but whether anyone actually wants this is debatable. Previous attempts to monetize open source contributions have not really taken off either — I think because of the relatively small sums. It feels better to spend a few hours creating a feature and opening a PR by donating your time than to get paid far less than market rate eg $10 for the branch. Also, I'm not sure if adding money to the exchange creates liability for the programmer with no contract in place.
Do you have any idea what happens if the smart contract isn't ever fulfilled? For example, could the reporter create a expiration? Otherwise the Smartcontract is tied up ad infinitum, and perhaps might never be fulfiled, hence locking up Ether forever? Any idea how this works?
While I haven't read the contract, that is a definite possibility. Most applications that require an 'Oracle' (a trusted source of information i.e the bot) can be written in a way that a deadlock would occur if their service was down, for example. That being said, a smart-contract can be written to give refunds in the case of an expiration, disallow the maintainer from cashing his own pull requests (though he could make another account), and other logic like that.

It's very powerful; but when the smart-contract world interfaces with the unpredictable outside sometimes the logic doesn't line up.

Sometimes I feel like smart contacts solve a set of problems by creating a whole new set of problems