gridcoin-community / Gridcoin-Tasks

Gridcoin community tasks repository
https://gridcoin.us
MIT License
24 stars 5 forks source link

Gridcoin-Bounty-Bot #211

Open ghost opened 6 years ago

ghost commented 6 years ago

100-GRC Bounty for a Bounty-Bot(Open-source) or a easy and better solution.

The Idea:

Not sure if that will fully work that way but its a first Concept

  1. USER: open a Issue on Github

  2. USER:Add a comment like : GridcoinBot createbounty [bounty title]

  3. BOT: writes a comment like :

    Bounty created please send the coins to:
    mmblablablat0talRandD0mAdDr3ss
    More open Bountys at (maybe a Link to a Website with a List of all Bountys)

    a new Wallet address needs to be created for every Bounty(maybe with Label=Issue #Number)

  4. Check the Amount in the Address(with 10 confirmatons) listunspend 10

every address needs to be linked to a Issue Nr

When the Bot-Wallet recive new coins it writes a Comment like Bounty: [Bounty-title] is now ---GRC

  1. (Not sure if the bot needs to know if people are working on it or the community will control that)

  2. If the work is done(PR Approved, merged and issue closed) The PR creater can claim the Bounty with a extra line in the PR like GridcoinBot workdone [Bounty-title or Issue Nr] - [ReciveAddress]

We need to think about if the Devs approves the Payout or the Community votes on it

  1. The bot pays the full amont of the BountyWalletAddress to the [ReciveAddress] with Message = Bounty Payout for Issue #Nr sendtoaddress <gridcoinaddress> <amount> [comment] [comment-to]
  2. BOT: write a comment on Github like: Bounty Paid out to [ReciveAddress]:tada:

Problem

Bountys with more than one Person working on it Bounty claimed by more than one Person Expiration date of a Bounty?!

Reference: gitcoinbot https://github.com/gridcoin/Gridcoin-Research/issues/926 https://github.com/tip4commit/tip4commit https://github.com/sigmike/peer4commit https://developer.github.com/ Related:

138

1

jring-o commented 6 years ago

I commit 100GRC to the completion of an open-source bounty bot, released at my own discretion.

jring-o commented 6 years ago

I think somehow tying this into the foundation wallet for "bounty matches" on major developments could be pretty neat. Consider it as an alternative to paid by hour from the foundation.

For example, let's look at CBR.

Let's say we as a community raise a 15k GRC bounty for the implementation of CBR. The foundation developer reimbursement package says that the foundation will match any protocol development implemented up to 10k GRC.

Since CBR is a protocol development, the total bounty for CBR becomes:

15k from the community 10k from the foundation + = = = = = = = = = = = = 25k total for the implementation of CBR

Note:

This would be in conjunction with hourly payment for core dev maintenance tasks

ghost commented 6 years ago

My Intention was more to get the "Little Helper" paid and give a Incentive to the Community to help in the Project. (a few GRC as a "Thank you" for the work they have done)

I think your look on it is give the Core Devs more Coins, but i think the System with hourly payment for the Core Devs is better to get a good and stable Wallet. We can think about to use the Bounty System to give GRC to the People who have helped to get Projects like CBR running. Edit If we take this system #205 , i think the Bounty-Bot will fit as a Tool for the Funding of small Projects and it can be Filled by the Community and Foundation Funds.

tomasbrod commented 6 years ago

1st step: simple tip bot

I am all ten for bounties and rewards "as an alternative to paid by hour from the foundation". Currently What I am doing is create a task on this task repo and if I feel like it, I attach a amount of grc for completion and a bounty tag. I expected it to be more popular with ppl rising and requesting bounties. Perhaps even foundation would add in.

2nd step: figure out some bounty contract voted treasury stuff, on the blockchain prefferably

barton2526 commented 6 years ago

I will commit 500 Gridcoin to the completion of an open-source bounty bot as described above.

jring-o commented 6 years ago

@Toggleton

in short, i agree with how you see a separation between Core Devs (Code maintenance and responsibility) and Contribution Devs (Specific improvements and additions).

i also agree that core devs should be paid hourly and contribution devs should be paid through the community in some way -- be it a bounty bot (with or without foundation bounty matching), running community contribution, or proposal based funding (through a vote).

i will be writing up a longer post on this subject in the near future.

in the meanwhile, some details on these possible payment structures can be found in #202

ghost commented 6 years ago

Have looked a litle bit into it, i think as a good starting point for the Wallet Control we can take this

The Github part of the bot is started here - https://github.com/Toggleton/test-gridbot - https://github.com/octokit/octokit.rb [We can take the Github ID and Name to Identify] Looks like collecting the Issue text and the Comments is not that hard for this issue it is curl https://api.github.com/repos/gridcoin-community/Gridcoin-Tasks/issues/211 curl https://api.github.com/repos/gridcoin-community/Gridcoin-Tasks/issues/211/comments Maybe check with the sync if there is a diff to the saved version

Reference for the bot posting part: https://chatbotslife.com/create-your-own-bot-for-github-part-2-bc8b5267a280#.6gud4em2m Give the bot the rights to Set the Bounty Label.

I think we need a db with (reference peer4commit, but i need to read into it) IssueNr|CreatedByGithubID|WalletAddress|GRC-Amount|(RecivedFrom)| ExpireDate?|

Its a good step to have the bot and take then the Time to get a Decentralized Solution :)

ghost commented 6 years ago

I recently started to work on this. How should the confirmation for the bounty claim happen?

ghost commented 6 years ago

Maybe for the Start a list of our Devs(Github ID's?) to aprove it. I think the Way to go later will be that the Community will vote if the Bounty is Approved.

tomasbrod commented 6 years ago

I believe that some human control is needed for the proper function. The bot could detect closing of a issue, or merge of a PR, but it can't detect that the task was really performed.

xaminmo commented 6 years ago

Perhaps the bot could run on one it the well known gridcoin domains? Would it need a trusted entity to manage its wallet? I imagine it being something similar to the Faucet, but we could go to a page and see bounties that had not been paid, with addresses to contribute to those bounties, and a tally of the balance for each bounty.

In the future, I could see the bot set up to release funds based on a carefully structured vote, maybe v4 of the bot?

Am I off base? I'm just brainstorming here.

ghost commented 6 years ago

I can add a authorized people list for now and after i can add a vote system just like @xaminmo said

ghost commented 5 years ago

I made a working prototype in https://github.com/jorkermc/GridcoinBountyBot You can see and try it in https://github.com/jorkermc/GBBTest (testnet)

Instead of manual action, it automatically scans all open issues for bounty tag and creates an address for the issue. Authorized users(admins) can use "!claim [address]" to claim whatever is sent to the address.

While it does function, it still needs:

jring-o commented 4 years ago

This is a great thread, but is approaching necro-status. Is anyone still working on this?

div72 commented 4 years ago

@jring-o Thoughts? https://github.com/div72/grcbountybot

springfielddatarecovery commented 3 years ago

Would love to see a better way to contribute GRC directly or via sidestaking to bounties on GRC and BOINC.