Round 12 - Call For Bounty Applications - Deadline is May 7

This thread is for applications for Rocket Pool’s April 7, 2024 - May 7, 2024 bounties. Please only post bounty applications in this thread. If you would like to discuss and/or ask questions about any applications you see in this thread, we ask that you do so in this separate forum thread which has been established for all community discussions related to this round of applications. Only those grant applications that are posted in this thread and timestamped by May 7, 2024 at 23:59 (11:59 PM) UTC will be considered. Any bounties posted after that deadline will be carried over to the next award period.

This is the expected schedule for round 12:

  • Application Period (April 7th - May 7th)
  • Negotiation Period (May 8th - May 20th)
  • Scoring Deadline (May 21st)
  • Final Voting Amendments, Discussion and Finalization (May 22nd - May 25th)
  • Award Announcement (May 26th)
Differences Between Grants and Bounties Grants are intended to be applied for by those who are wishing to carry out the work themselves. Bounties are open-ended goals that could be met by anyone, including those other than the proposing party. In other words, if I believed that Rocket Pool needed a fifty-foot paper mache orange rocket for publicity purposes and I wanted to be the one to built it, I would apply for a grant. If I instead thought Rocket Pool needed a fifty-foot paper mache orange rocket for publicity purposes but I wanted it to be open to whoever built it first to claim the reward (similar to a prize), then I’d apply for a bounty.

To guide you in your application, the GMC has established the following goals and the following scoring rubric:

GMC Goals

Grants, bounties, and retrospective awards should make it easier and/or more attractive to do one or more of the following:

  • become a node operator

  • operate a node, mint rETH

  • hold or use rETH

  • improve the quality of life for the protocol and its community.

Bounties Rubric

When evaluating grant applications, the GMC takes into account the following goals:

  • If the bounty is completed successfully, to what extent does it further the GMC goals?

  • To what extent is it likely that the bounty can be feasibly claimed/completed successfully?

  • If the bounty is successfully completed, how large is the benefit to the protocol relative to the size of the proposed costs?

Bounty Proposal Template

Guidelines

  • The goals of the Bounty Proposal are:
    • to communicate your bounty idea clearly, in general terms, such that the GMC can decide if it’s worth pursuing.
    • to estimate the benefits and costs attached to your proposal.
    • to disclose any relevant conflicts of interest.
  • Answers to the template questions do not need to be highly detailed. Estimates or ranges are acceptable. Brief answers are also fine.

Template

# Bounty Name

## General Information

### What is the nature of the proposed bounty?

### Why are you writing this bounty proposal?


## Benefit

<please enter N/A where appropriate>

| Group | Benefits |
|---|---|
| Potential rETH holders | If the bounty is successfully completed, how does this help people looking to stake ETH for rETH? |
| rETH holders | If the bounty is successfully completed, how does this help rETH holders? |
| Potential NOs |  If the bounty is successfully completed, how does this help people looking to run a Rocket Pool node for the first time? |
| NOs | If the bounty is successfully completed, how does this help people already running a Rocket Pool node? |
| Community |  If the bounty is successfully completed, how does this help the Rocket Pool community? |
| RPL holders |  If the bounty is successfully completed, how does this help RPL holders? |

### Which other non-RPL protocols, DAOs, projects, or individuals would stand to benefit from the bounty being successfully completed?



## Work

### What steps would be entailed in completing the bounty? Do successful examples of such work exist elsewhere? What skillsets or knowledge will be required?

### What advice would you give a bounty hunter working on this bounty?

### Should the output of this bounty be available under an open source license?



## Costs

### How much do you think the completion of this bounty worth to Rocket Pool (in USD)?

### How much work will be needed to verify this bounty has been completed? What skillsets or knowledge will be required?


## Structure

### How would you structure this bounty, and why? 
* A single payout to single team on completion? 
* Divided into milestones? 
* Multiple payouts to multiple teams? 
* Should this be written up as multiple bounty definitions?
* Something else?

### Is this bounty repeatable?

### Are there any reasonable circumstances under which this bounty should be withdrawn? Should it expire?


## Conflicts of Interest

### Does the person or persons proposing the bounty have any conflicts of interest to disclose? (Please disclose here if you are a member of the GMC or if any member of the GMC would benefit directly financially from the successful completion of the bounty).

### Will the applicant, or any protocol or project in which the applicant has a vested interest (other than Rocket Pool), benefit financially if the bounty is successfully completed?

Bounty Definition Template

Guidelines

  • When a single proposal bounty proposal has parts that must be completed by different groups, it should become multiple definitions.
  • Where reasonably possible, bountiy definitions should limit the number of distinct skillsets required for completion of the bounty.
  • Bounties should be defined in terms of the smallest worthwhile unit of work. IE: $25 to add/update a single relevant FAQ question rather than $5,000 to update the FAQ.
  • Include any information or resources that might reasonably help a bounty hunter complete the bounty.
  • Think carefully about which tasks are required, and which can be optional.
  • Clearly list any dependencies, if the bounty cannot be completed in all circumstances.
  • Only include multiple milestones for large bounties with natural points of division.

Template

# Bounty Name 

## Data
* Repeatable?
* Expiring?
* Skillsets for completion? (See existing bounties and reuse where possible, new skillsets are recommended if sufficiently distinct)
* Relevant tags? (See existing bounties and reuse where possible, new tags are recommended if sufficiently distinct)
* Min reward (USD)?
* Max reward (USD)?
* Any linked definitions? (e.g. if a single bounty proposal becomes multiple definitions.)
* Any dependencies? 

## Summary 
Short 1-3 sentences describing the bounty.

## Dependencies
Is there anything that must happen (outside of a bounty hunter's control) before it is possible to complete this bounty? This may be other bounties that must be completed first, an upcoming event or change or a regular occurance that triggers a valid bounty. This section is optional. May be later removed from the definition if the dependency becomes permanently met. 

## Required Milestones
What _must_ be completed for a bounty hunter to claim some amount of bounty. Described per milestone.

### Milestone A - <Name of Milestone>
**Payout: ** <payout amount>
Clear bulleted list or subheadings covering the items that must be completed and/or adhered to for this milestone to be valid.

### Milestone B - <Name of Milestone>
**Payout: ** <payout amount>
Clear bulleted list or subheadings covering the items that must be completed and/or adhered to for this milestone to be valid.

### Milestone C - <Name of Milestone>...

## Optional Milestones
What tasks _may_ be completed for a bounty hunter to earn extra bounty rewards. Described per milestone. This section is optional.

Optional milestones may be less strictly defined than required milestones. You may aggregate multiple minor considerations that would contribute to a payout. 

### Milestone D - <Name of Milestone>
**Maximum Payout: ** <maximum payout amount>
Clear bulleted list of the items that would contribute to payout for this milestone.

### Milestone E - <Name of Milestone>...


## Further Notes
Anything you think that would be beneficial for a bounty hunter to know when working on this bounty. Maybe be divided into subsections as needed.

## Resources
Links to repositories, web pages, forum discussions, etc. Anything that the bounty hunter may be able to use to do a better job on the bounty work. 

## Contacts
Individuals that have agreed to act as contacts for this bounty. Include usernames + contact details for any platform on which the contact is willing to respond to requests. Any contacts are expected to fully understand the bounty definition. This section is optional. 

Contacts:
* MAY be eligible for incentives.
* SHOULD NOT assist the bounty hunter directly with the bounty work.
* SHOULD assist bounty hunters via feedback, direction and oversight upon request.

## Verification
Who is expected to verify that the work delivered meets the relevant milestones? This person or group must have agreed to do this in advance of this definition being published. This person or group should have any relevant skillsets needed to properly verify the bounty work.


Rocket Pool Support Payments

General Information

What is the nature of the proposed bounty?

Provide support for questions posed by Rocket Pool community members in the # support discord channel; questions come largely from Node Operators and those hoping to be Node Operators. Reimbursement to contributors have thus far been done retroactively, which has several weaknesses (for example, not strongly encouraging support due to unknown reimbursement, erratic payments only done when requested by contributors, difficult policing given very long timespan [usually years] of contributions).

Allowing prospective payments allows for both effective budgeting from the DAO, the possibility of increasing payments for critical time periods (for example, bonus payments to encourage more #support contributors around rocketpool v2, LEB rollout, or megapool transition), and quicker feedback to contributors for their efforts.

Why are you writing this bounty proposal?

  1. I think #support has been the single most important service that has been offered by the RP community and deserves regular reimbursement.
  2. I think our current retrospective reimbursement is both harder to administer and less effective than a prospective payment structure.

Benefit

<please enter N/A where appropriate>

Group Benefits
Potential rETH holders questions answered, although much of this is done in # general/# trading
rETH holders see above
Potential NOs Huge benefit, both for answering questions and for the assurance that should problems come up, there is an active support structure
NOs see above
Community The community provides support; this bounty will regularize payments. The payments will all go to community members.
RPL holders By creating a budget for # support, the payments will be more regular and we will not have as many unclaimed allocations weighing on our balance sheet

Which other non-RPL protocols, DAOs, projects, or individuals would stand to benefit from the bounty being successfully completed?

Basically, none.

Work

What steps would be entailed in completing the bounty? Do successful examples of such work exist elsewhere? What skillsets or knowledge will be required?

Provide user support in the # support channel of discord, under the following terms:

  1. Provide at least 1 hour of work providing #support discord channel in EACH of the three months June-August 2024, as measured by RocketScrape; *alternatively provide a total 15 hours TOTAL over those 3 months.
  2. Within the first week of September 2024 a list of all potential awardees will be produced by GMC.
  3. A two week period will follow where any community member can publicly or privately notify the GMC that a potential awardee was not providing support (for example, was requesting support) or not providing quality support (for example, multiple ineffective messages/farming). *Anyone offering # support can also petition to add their name to the list if they narrowly failed the initial inclusion criteria.
  4. The GMC will investigate the # support record of any questioned potential awardee and designate either 0%, 50%, or 100% based on posts on # support channel. *The 50% level will be for users with approximately 25%-75% effective support messages. Potential awardees receiving 0% or 50% will be considered 0% or 50% for future # support bounties unless they specifically request and are granted re-evaluation.
  5. The “cost” below will be split proportionally amongst all awardees based on time spent as measure by RocketScrape and adjustments based on investigation in (4); payment will be done during the next GMC distribution phase.

Note: No further # support retroactive awards will be considered for this timeframe to # support contributors.

What advice would you give a bounty hunter working on this bounty?

The pot is a fixed amount. If there are people who are not actively helping or should not be providing # support, there should also be self-monitoring to ensure that high quality contributors are not diluted. This will be done on the back-end by GMC oversight, but self-policing is encouraged (if for no other reason than a better experience for support seekers).

  • If farming becomes an issue then some degree of whitelisting (support guild) may be needed in the future.

Should the output of this bounty be available under an open source license?

n/a, although rocketscrape should continue to be open source.

Costs

How much do you think the completion of this bounty worth to Rocket Pool (in USD)?

36,000 USD for 3 months.

This works out to about 17 USD/hour for 24/7 coverage, which is a great deal for RP. However, because contributors are doing this on an ad hoc basis, often while doing other things, this will approximate the 90 USD/hr that has been approved previously for # support work by the pDAO (which is, I think, also a reasonable inducement for contributors).

How much work will be needed to verify this bounty has been completed? What skillsets or knowledge will be required?

RocketScrape
GMC investigation by reading support messages of people identified as not offering quality support.

Structure

How would you structure this bounty, and why?

Payments portionally split amongst all awardees based on adjusted hours worked per RocketScrape, as listed above.

Is this bounty repeatable?

This is a pilot of a possible prospective method method of reimbursing. If successful, i think a similar bounty would be released in iterative fashion. There are other ways to pay contributors prospectively, and it may be that other better systems are proposed. I think this systems is very low overhead and ‘good enough’.

Are there any reasonable circumstances under which this bounty should be withdrawn? Should it expire?

Only good for the 3 months in question (expires end of august 2024)

Conflicts of Interest

Does the person or persons proposing the bounty have any conflicts of interest to disclose? (Please disclose here if you are a member of the GMC or if any member of the GMC would benefit directly financially from the successful completion of the bounty).

I am a member of the GMC. I did not talk about this bounty from anyone from the GMC, nor will I vote on it (although being the author I obviously support it).

Will the applicant, or any protocol or project in which the applicant has a vested interest (other than Rocket Pool), benefit financially if the bounty is successfully completed?

I lack the basic knowledge required to offer # support and will not benefit financially.

*significant changes from original post due to feedback noted by asterisks.

2 Likes

Smart Node UI Wireframes

General Information

What is the nature of the proposed bounty?

Prior to building a UI to use with Smart Node v2’s new HTTP API, we should have someone carefully design the User Experience and Look and Feel.

This bounty would pay for Wireframes that could be used by a future UI developer and graphic designer to create a front-end for Smart Node.

Why are you writing this bounty proposal?

The result of this bounty can be used to direct future bounties to implement the UI.

Benefit

Deleting the grid.

The benefit is that this is the first step to a Smart Node UI.

If the GMC is keen to have one built, this is a good first step that will guide and direct future work.

Which other non-RPL protocols, DAOs, projects, or individuals would stand to benefit from the bounty being successfully completed?

N/A

Work

What steps would be entailed in completing the bounty? Do successful examples of such work exist elsewhere? What skillsets or knowledge will be required?

Skillsets: Wireframing, UX, Product Design, Node Operation

The ideal contributor is an already-experienced Rocket Pool Node Operator with the above skills.

The wireframe should be a ‘blue sky’ design, and seek to replicate 100% of the functionality of the current CLI, in an organized fashion. Ideally the organization of the UI will be reminiscent of the organization of the CLI commands.

What advice would you give a bounty hunter working on this bounty?

  1. If you have never run smart node before, run a testnet node and thoroughly familiarize yourself with the current user experience
  2. Don’t include auth in the wireframe, it will most likely be handled by external tools.
  3. No web3 integration should be necessary, as the backend has access to the node wallet’s private keys. However, leave the door open to the notion of using one in the future, so a node can be controlled by a hardware wallet via the UI.
  4. Try to separate “read only” from “read/write” in the UI mockup, similar to how some commands currently are read only (eg rocketpool node status) and others are read/write (eg rocketpool minipool stake.
  5. KISS - Keep It Simple… Sally.
  6. Use figma, it’s great at this.

Should the output of this bounty be available under an open source license?

Yes, an open source media license.

Costs

How much do you think the completion of this bounty worth to Rocket Pool (in USD)?

Oh, let’s say $2,000. I want someone to really think critically about the UX and take their time getting it right.

How much work will be needed to verify this bounty has been completed? What skillsets or knowledge will be required?

Verification will be handled by the GMC. The GMC should take care to analyze the UX and ensure the contributor has been thorough.

Structure

How would you structure this bounty, and why?

A single payment on delivery of the wireframes.

Is this bounty repeatable?

No

Are there any reasonable circumstances under which this bounty should be withdrawn? Should it expire?

Expire it after 4 weeks elapse from the date at which it is no longer in the pDAO challenge window. Expiry here being used largely as a deadline.

Conflicts of Interest

Does the person or persons proposing the bounty have any conflicts of interest to disclose? (Please disclose here if you are a member of the GMC or if any member of the GMC would benefit directly financially from the successful completion of the bounty).

No

Will the applicant, or any protocol or project in which the applicant has a vested interest (other than Rocket Pool), benefit financially if the bounty is successfully completed?

No

1 Like

Smart Node v2 HTTP API OpenApi 3 spec and codegen

General Information

What is the nature of the proposed bounty?

Write OpenAPI 3.x specifications for the HTTP API endpoints smartnode v2 currently uses.

Generate middleware using https://github.com/deepmap/oapi-codegen.

Migrate Smart Node v2’s raw HTTP serving to use the generated code instead.

Migrate Smart Node v2’s raw HTTP client to use the generated code instead.

Why are you writing this bounty proposal?

Spec-driven API development makes integration easier (ie, by UIs) and provides useful tooling (eg, generated CLI and client libraries).

Benefit

Less code to maintain by hand, plus further unblocking API integration (UI) work.

Which other non-RPL protocols, DAOs, projects, or individuals would stand to benefit from the bounty being successfully completed?

None

Work

What steps would be entailed in completing the bounty? Do successful examples of such work exist elsewhere? What skillsets or knowledge will be required?

All HTTP endpoints and client code should be through the generated interfaces.

Recommend familiarity with Golang, OpenAPI/Swagger, the HTTP protocol, and REST principles.

What advice would you give a bounty hunter working on this bounty?

Start small- write a spec for a single endpoint and complete the migration of that entire endpoint/client. Add CI jobs to ensure that the generated code is always ‘fresh’ on merge.

Add additional endpoints one by one until they are all migrated to spec-driven.

Confine all the generated code to a single go package that only contains generated code.

This is not a good first bounty. It will be very difficult if it is your first contribution.

Should the output of this bounty be available under an open source license?

It will be in Smart Node, which is GPLv3

Costs

How much do you think the completion of this bounty worth to Rocket Pool (in USD)?

$3,500

How much work will be needed to verify this bounty has been completed? What skillsets or knowledge will be required?

Smart Node’s current maintainers can confirm completion.

Structure

How would you structure this bounty, and why?

  • Milestone 1: $500
    A OpenAPI spec has been added and its generated code is being used by one API endpoint.
    A script has been added that runs codegen.
    A Github Actions CI job has been added and verifies that re-running codegen produces no diff.
  • Mileston 2: $3000
    All API endpoints are in the spec
    All API endpoints and client code uses generated interfaces.

Is this bounty repeatable?

No

Are there any reasonable circumstances under which this bounty should be withdrawn? Should it expire?

Withdrawn if @jcrtp and @fornax are opposed.

Conflicts of Interest

Does the person or persons proposing the bounty have any conflicts of interest to disclose? (Please disclose here if you are a member of the GMC or if any member of the GMC would benefit directly financially from the successful completion of the bounty).

None

Will the applicant, or any protocol or project in which the applicant has a vested interest (other than Rocket Pool), benefit financially if the bounty is successfully completed?

None

2 Likes