Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move all features in the utcd repo to the utreexo repo #261

Open
kcalvinalvin opened this issue Apr 4, 2021 · 0 comments
Open

Move all features in the utcd repo to the utreexo repo #261

kcalvinalvin opened this issue Apr 4, 2021 · 0 comments

Comments

@kcalvinalvin
Copy link
Member

kcalvinalvin commented Apr 4, 2021

What I plan to do

Move all the utcd features that we lack in the utreexo repo. P2P, utxo tracking, network sync manager are the big 3 features that are missing here.

Reasonale

1. Cross-repo incompatibilities

Having two repos for the utreexo parallel sync stuff is bad.
One example: We need to have duplicate code for the wire/ stuff since go doesn't allow import cycles. This results in ugly mess in both sides of the repositories (see wire/ package in both the utreexo repo and the utcd repo).

2. Legacy un-wanted btcd things

Currently the integration tests are failing in the utcd repo. The code isn't necessarily wrong, but it's the existing btcd stuff that are:
a. already gone
b. legacy in terms of utreexo

I saw no need to make the tests pass since it's stuff we're not using anyways. But as the utcd repo progresses, this hurts with testability and readability of the repo. It just makes me look bad in general :(

There's a lot of overhead to keep the existing btcd test code that we're not gonna end up needing. I think it's better to just move all the wanted code to the mit-dci/utreexo repo.

3. Better readability of the code

Right now, it's really just me that's been working on the utcd repo since December. I believe this is because to contribute, you would:

  1. Get used to the btcd repo
  2. Get used to the new utreexo things in the utcd repo

This is obviously very challenging. I intend to move things here so the code is better readable with all the unnecessary btcd things gone. I believe this would lower the bar for contributing to the utreexo parallel node code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant