You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
Get used to the btcd repo
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.
The text was updated successfully, but these errors were encountered:
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:
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.
The text was updated successfully, but these errors were encountered: