Zcash core developer

Zcash core developer

This proposal aims to introduce 1 independent C++/Python developer into the task of resolving open issues in the main zcash repository: https://github.com/zcash/zcash/issues

It is also the proposal scope to help in the review process of open pull requests from the public list: https://github.com/zcash/zcash/pulls

Applicant background

Alfredo Garcia(aka: oxarbitrage) is a software developer specializing but not limited to the C++ programming language and blockchain back end development.

https://github.com/oxarbitrage

To get familiar with the codebase the author had worked in the following pull requests, most of them already merged:

Motivation and overview

The Arborist Team members as part of the ECC are the bigger contributors to the zcash main repository. They do an excellent job, however the number of tasks is so big and the obligations of this team are so many that issues sit undone for long periods of time. Community contributes however it is not enough.

The intention of this proposal is collaboration between me(the new proposed developer), the community and the Arborist team for faster resolution of different tasks on usability, rpc interface, error handling, test case coverage, Bitcoin code port, code cleanup, technical debt, etc that will lead to better software.

Technical approach

The workflow is simple as zcashd already follows open source community development standards. Issues are created by participants, some of them will be assigned to the author and it will be his job to resolve them. In general the solution will be in the form of a pull request, code will be submitted, other participants will review, changes will be requested. An ideal scenario is that the code gets merged and the issue gets closed, in other cases the review process and changes requested are not so straight forward so it will take more effort.

Goals:

  • Work on open issues of different categories inside the zcash main repo. Previous coordination with the Arborist team to make sure there is no double efforts.
  • Provide code review. No push access is needed.

Condition

Arborist team need to invest time in code review submitted by this proposal at their speed and availability.

Emergency / urgent tasks

The author will collaborate with security, bugs or any other event that need immediate resources. Always available to help.

Communication and planning

The author will be available for phone calls/chat/forum participation for planning with other teams or community members.

Open new issues

Living in the codebase will lead to bug finding. New issues will be opened by the author and if possible: pull requests to resolve them.

Execution risks

General idea is to move fast however this can not always be the case. One of the risks are blockers, this are problems that the developer is not able to resolve in an acceptable timeframe due to lack of knowledge. Communication with other engineers will be key to bypass these.

Another risk can be a task that is taking much more time than predicted initially. In the worst case an issue can be abandoned, even if so, the research will be public and should help another developer willing to give it a new try in the future.

There is a risk on working on issues that are not important any more or not a priority in the moment. Communication and planning with the rest of the team members and the community is also key here to avoid them.

Evaluation plan

A milestone with a list of issues planned to be resolved in the next period will be always available however issues can move from one milestone to the next or added to current milestone even if they were not in the list initially. Some flexibility is needed here.

The project will be on track if issues in the milestone get resolved by or with contribution of the author.

Tasks and schedule

Proposal is 1 year of full time(8 hours per day/5 days a week) commitment of development. Milestones will be every 15 or 30 days.

Budget and justification

Proposal is asking a maximum of 6000 USD per month for a total commitment. Funds go fully to the developer for development work and released by milestones.

Tipping

Tips Received
???  
ZEC

Campaign

Started
5 months ago
Funding
$72,000 
Funded through  
Milestone 1
Milestone 2
Milestone 3
Milestone 4
Milestone 5
6
Milestone 6
7
Milestone 7
8
Milestone 8
9
Milestone 9
10
Milestones 10, 11 and 12

Milestone 5

Estimate: June 2020
Reward: $5,760
Payout for this milestone was accepted 9 hours ago. $5,760 will be sent to the team soon.
https://github.com/oxarbitrage/zf-grants/blob/master/2020/milestone5.md

Awaiting Payment

The payout request was approved on Jun 2nd, 2020, 5:13 pm.