Zcash core developer proposal

Hello zcash community, my name is Alfredo Garcia, i am from Uruguay(South America). I am a C++ blockchain developer, had been working on different well known projects in the past. About 1 month ago i started to check zcash more closely specifically the technology and the team behind it. I got impressed by that so started to work in some github issues that were open to get familiar with the codebase and the people. That experience went pretty smooth so i want to contribute further in a more formal way.

I wrote a short draft on where i think i can bring the most value at least initially: https://gist.github.com/oxarbitrage/ff4290e1cc3d20a2c009c353bd74242e

But i don’t have idea if the community want to invest resources in a new developer now or if you guys are fine with what you have.

Hope to get some feedback. Thanks!


welcome to the forums!
not sure if this is up your alley, but looks like ECC is hiring https://electriccoin.co/jobs/

1 Like

There’s ZF Grants if you want to get a project going - good place to start ?

PS: Bienvenido & saludos desde Chile :slight_smile:

1 Like

Thanks for the suggestion @kek . I saw that and i think that in general i am in line and like what ECC is and represent and will be definitely great to work there. In the other hand the process seems long and complex (4 weeks of interviews) and even if i got some nice technical feedback from the Arborist team i didn’t had any from HR or representative encouraging me to do it in the chat channel. I am proposing something less ambitious initially and gain reputation.

If they encourage me to start the process i will definitely do it however i don’t want to waste their time nor mine. Just need them to say “do it, you have possibilities” or similar.

I am thinking in a grant as an alternative, shorter duration, independent(will help with the dev decentralization), probably less cost to the community.

To be clear, i am looking for work, i do coding for a living since ever and i will need funding however, i am not desperate for money, i am more interested on finding a spot where i can fit inside this community that i think from the technological aspect haves great potential.


@ChileBob thank you. There are a few ways to work in the zcash core on my view:

  1. work for ECC.
  2. propose a zf grant.
  3. do voluntary work.
  4. find a business that sponsor your work.

3 is fine for a while but it will be impossible to sustain in time. 4 is possible by knowing the right people but it will be limited to specific feature the business want.

So i am targeting 1 or 2.

The ZF Grants seems to be more suitable for new projects but i don’t see any to work in existing ones. I think anyways the grant system is versatile enough to accept a proposal of this kind even if never done.

PS: Saludos y gracias. Espero de corazon que Chile pueda arreglar aunque sea un poco los problemas que estan teniendo.


I think it would be awesome if the Zcash community could attract and retain contributors like Alfredo, independent from ECC.


@zooko, @str4d, @nathan-at-least: given that @oxarbitrage is looking to work on the core node software, and that his expertise lies in C++ rather than Rust, it seems that ECC’s arborist team is in the best position to help him find good projects in the zcashd codebase (beyond the pull requests he has already submitted). Funding can then come from Zfnd grants.


Thank you guys for the support specially the Arborist team that allowed me to merge some code, without their support the proposal would never have seen the light.

I am now in contact with @tromer and @nathan-at-least to see how to proceed with the grant option.


Hi @oxarbitrage, I just saw your community chat and am responding here. Sorry for the delay in response it’s been a busy few weeks here. I may be operating without appropriate context so I apologize if this has already been discussed.

Re: your grant proposal, do you feel comfortable converting it over to the grants platform? Submissions are currently disabled as we’re migrating to an upgraded system (targeting next week but it may slip). Once submitted there we can provide more comments and feedback from the Foundation side.


Thank you @acityinohio. I will be submitting as soon as the platform is accepting proposals again.


Thanks to the foundation for funding, the ECC members for supporting and the zcash community in general the proposal is now live at https://grants.zfnd.org/proposals/1181218696-zcash-core-developer

Currently we have created the 3 initial milestones:

Please post here or reach my by PM if you want me to work in a particular zcash issue.

Note: Milestones are a general guide, tasks can be added/moved/deleted by any justified reason at any time.

I will post here when new milestones gets created.

Thank you all for the support, i will always do the best i can.


Hello community, a new month is starting and by this the milestone 1 of my grant ended. I will post a small resume here at the end of each milestone but feel free to ask me any question at any time.

Here is the finalized list of tasks for milestone 1:

From the planned tasks there are 3 that are not done, in all the others some sort of work was done, majority currently have open pull requests waiting for review or merge.

In regards to the 3 not done here are the reasons:

In other news i had a meeting with @elenita from ECC last week and i will have a meeting with several wallet team members next Tuesday. This team have a wishlist of zcashd features that they will like to see implemented. The idea is to collaborate with them.

By now the focus will be in milestone 2:

I think it was a good initial milestone, comments are appreciated :slight_smile:


I only have one comment: It’s Zcash, not ZCash.

Keep up the good work :slight_smile:


Thanks @rex4539, fixed that :slight_smile:


Hello community, as February ended milestone 2 is over and now the focus has been moved into milestone 3 starting today.

For what was done in Feb please check https://github.com/oxarbitrage/zf-grants/blob/master/2020/milestone2.md

As you can see a few cleanup tasks were not completed, speaking with the team i now know they were not of big importance so their were removed. In compensation to that a lot of new tasks were added specially in reviewing other team members code in order to speed up the merging process.

1 task was moved to milestone 3(https://github.com/zcash/zcash/issues/4326). Milestone 3 haves a nain focus on community requests and that issue is better suited there however this was not the main reason of the move, it is actually delayed as it depends on other pull request that is still in development/discussion(https://github.com/zcash/zcash/pull/4293). Still, i think milestone 3 is better for that issue as it was a direct request from the ECC wallet team.

For details on what is currently in the line of milestone 3 please check https://github.com/oxarbitrage/zf-grants/blob/master/2020/milestone3.md

Please remember milestone can be always changed as needed but it gives an overall idea on what issues will be addressed in the period.
In this milestone i have to also create what will be be milestone 4, initially i only created the first 3 milestone for the grant, now it will be time to add at least 1 more. Open to suggestion on what should be the main focus of milestone 4.

Finally in April(eastern holidays) i plan to take a 1 week vacation with my family, i have to talk about it with the foundation on how that can be handled in my case but i hope this will not be a big problem.


Thanks for the great work and productive collaboration, @oxarbitrage!

A few comments:

Research/Implement ZIP32 - https://github.com/zcash/zcash/issues/2673

Do you mean BIP 32 for t-addresses, or ZIP 32 for Sprout z-addresses? (Not sure it’s worth it to bother with the latter.)

Research https://github.com/zcash/zcash/issues/2275 [Cross-branch double-spend detector], check if new rpc calls are needed, file issues for them.

Note that ZF has just awarded a related grant for a Zcash Observatory. So it may be better to leave this issue to them, unless it interacts with other things you’re working on.

As for the couple of bug-report issues you listed for Milestone 3, they seem to arise in a complex state that may no longer be reproducible. So the fallback to actually resolving them is to instrument the code with additional debug output and checks (so they’d be easier to analyze next time they happen). Which you’re mostly working on anyway, but yeah, going through these detailed reports may give more ideas.

I also left a few notes in the issues.


Hey @tromer , thank you for the feedback. I removed the 2 issues in question, didnt know about the Observatory, looks good.

I will replace them with something else, any issue that you will like to be done this period please let me know. Same goes to anyone reading.

One of my intentions for this milestone was to work in some ZIP(https://github.com/zcash/zips) as i think that can be a bit more advanced than normal issues however there are so many issues available that keep working on them will be just fine on my view.

Still, if there is any ZIP that the community will like me to work on, i will be happy to do it.

Will post more news here soon.


As March ended here is a report on milestone 3 and a new milestone 4 proposal.

It had been a difficult month for everyone, i hope the zcashers reading and their families are all ok. In here the daily life changed but my work routine is by now the same.

The vacations mentioned in the last post (i should be leaving this weekend) are of course cancelled and by now moved to July, we will see if that actually ends happening.

With that said lets move on to some comments on the closed milestone(https://github.com/oxarbitrage/zf-grants/blob/master/2020/milestone3.md).

Almost all the tasks planned were done, as usual some of them are merged, some others are pending but they all have at least some code attached.

Let me comment a bit in regard to the first 3 tasks of Week 1. The 2 that are crossed out are because the state may no longer be reproducible as commented in Zcash core developer proposal .

That leaves us with https://github.com/zcash/zcash/issues/4279 and more specifically i am after https://github.com/zcash/zcash/issues/4279#issuecomment-570421471 .

The work in the logging was started actually in week 4 of the milestone(I don’t respect the weeks where the tasks are added to the milestone, just try to do them somewhere in the month), an initial PR was submitted for the balances part of it but implementation is discarded by performance issues. With some suggestions from @daira i now have another implementation very close to be submitted(between today and tomorrow) but it will still need some attention in the first week of april to finalize properly so i added it again as a task in week 1 of milestone 4(https://github.com/oxarbitrage/zf-grants/blob/master/2020/milestone4.md#week-1).

A proposed list of tasks was added as milestone 4(https://github.com/oxarbitrage/zf-grants/blob/master/2020/milestone4.md) where the main focus are recent issues. Please send feedback. Thanks!


Keep up the good work! :metal: :zebra:


In regards to the logging system and promised new pull request, it was submitted last night: https://github.com/zcash/zcash/pull/4423