RP Team partnership (Patches) Part Drei
What is the work being proposed?
A continuation of the Round 18 Grant
My focuses have not changed:
- Continuing to improve code architecture to support automated testing
- Continuing to add test coverage
- Saturn
0,1, and 2 - Onboarding more contributors as the developer experience improves.
Is there any related work this builds off of?
In the second sixth month period, progress was made in the following categories:
- Beacon State Merkle Proof Generation
- I was responsible for the code that generates merkle proofs on beacon roots in Saturn 1 and 2. It’s evolving as the implementation of Saturn 1 takes shape.
- Several types of proofs are required. I worked on proving beacon withdrawal credentials for stake() transactions as well as proving withdrawal amounts for megapool accounting.
- Treegen v10
- Necessary for Saturn 0, it carried over from the preceding grant.
- We had to make and test substantial changes to support Pectra’s new attestation committee and packing logic.
In May (the first month of that this grant application will cover, and optimistically performed) I have done 51 and a third hours of work.
- Deprecating smartnode-install.
- We migrated to use a Makefile for builds, and tools such as
docker bake
to simplify the release process. - I found a way to embed the textfile assets that must be installed within the rocketpool-cli binary, instead of having the install script download them each from github.
- We migrated to use a Makefile for builds, and tools such as
- Transition to a monorepo
- Previously, development occurred across several repos, in rough order of importance:
- smartnode
- rocketpool-go
- smartnode-install
- treegen
- NethermindPruneStarter
- Most new features involved at least 2 of these repositories, forcing developers to maintain loosely correlated parallel development branches.
- I consolidated all of these into the smartnode repository to improve developer efficiency. At the time of consoldiation, there were 3 major development branches (master, saturn, devnet) across these repositories that needed to be reconciled. This was a major effort, since steps were undertaken to carefully preserve commit history. I collaborated heavily with fornax on this process.
- I also consolidated containers maintained by the team down to a single container (from 5 or so- from memory- NethermindPruneStarter, PruneProvisioner, our custom Prysm image, treegen, smartnode. All of these except the main smartnode container have either been made obsolete or merged into the smartnode image.
- Previously, development occurred across several repos, in rough order of importance:
In the full 6 months of this period I was paid $4,300 for 43 hours of work.
If this grant is approved, May will cost $5,133.
As previously, I believe this represents a high ROI to the protocol. The GMC should liaise with the core team to review my performance.
Will the results of this project be entirely open source (MIT, GPL, Apache, CC BY license or similar)? If not, which parts will not be, why, and under what license will they be published?
N/A
Benefit
Same as original grant.
Which other non-RPL protocols, DAOs, projects, or individuals, would stand to benefit from this grant?
None.
Work
Who is doing the work?
What is the background of the person(s) doing the work? What experience do they have with such projects in the past?
Same as original grant.
What is the breakdown of the proposed work, in terms of milestones and/or deadlines?
Same as original grant but with more hours- the work continues to ramp up, and I have more time to dedicate to it than previously.
How is the work being tested? Is testing included in the schedule?
Frankly, most of the work IS testing. The work that isn’t testing is accompanied by work that tests it.
How will the work be maintained after delivery?
The changes to core repositories remain the responsibility of the core team to maintain long term.
Costs
What is the acceptance criteria?
Same as original grant.
What is the proposed payment schedule for the grant? How much USD $ and over what period of time is the applicant requesting?
On acceptance, $5,133 to paid for May and a TBD amount for June. The grant will cover from May to October, inclusive, and July through October will be billed under the same terms.
I propose applying the same terms of the first 12 months to this 6 month period.
How will the GMC verify that the work delivered matches the proposed cadence?
Verified by Langers monthly.
What alternatives or options have been considered in order to save costs for the proposed project?
None to suggest.
Have you already been compensated by the RP protocol in any way for this work?
No.
Conflict of Interest
Does the person or persons proposing the grant 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 grant).
I am:
- An investor in Nodeset and Bitfly
- On the EthStaker board of directors
- Working as an independent contractor for a mid-sized Node Operator (as a sysadmin, largely).
Will the recipient of the grant, or any protocol or project in which the recipient has a vested interest (other than Rocket Pool), benefit financially if the grant is successful?
No