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

Requirements to support node&wallet #12

Open
4 of 5 tasks
kcalvinalvin opened this issue Oct 9, 2022 · 0 comments
Open
4 of 5 tasks

Requirements to support node&wallet #12

kcalvinalvin opened this issue Oct 9, 2022 · 0 comments

Comments

@kcalvinalvin
Copy link
Member

kcalvinalvin commented Oct 9, 2022

For a node/wallet to used the rustreexo library, we need to support additional things in the current rustreexo library.

  • add() method on stump needs to return new hashes and their positions
  • del() method on stump needs to return new hashes in their current positions
  • Need to support add() on cached proofs
  • Need to support del() on cached proofs
  • Extra: Need to support undo on cached proofs

Additionally, the node either needs to be able to parse utreexo block messages or the utreexod node in github.com/utreexo/utreexod needs to support an rpc call that returns utreexo proofs for a requested block.

@kcalvinalvin kcalvinalvin changed the title Requirements for a node&wallet to use rustreexo library Requirements to support node&wallet Oct 9, 2022
Davidson-Souza added a commit to Davidson-Souza/rustreexo that referenced this issue Jun 8, 2024
* Add the ability to connect blocks to p2p-chain

* docs: Add more documentation to stream_reader

* p2p-chain: Allow node to send requests to peer

* Download headers from peer

* Initial block download working from wire

* few tweaks on ibd

* Abstract block download into the proper struct

* Add timeout for requests

* Add some extra debugs

* p2p_chain: Add address manager

* rebase and solve some conflicts

* refactor: Move node logic to node.rs and remove unused

* remove unused "protocol"

* implement address_man

This module keeps a list of addresses that our node can use to make
new connections.

* Update confuse log

Both blockchain and electrum says new peer. Now electrum says new
client.

* fix some bugs on ibd

* add feature guard on error.rs

* Use UtreexoBlock intead of block

* Docs: Document block_download module

* Fix bug with read loop

* Start downloading proofs from the network

* finish block download logic using utreexo p2p messages

* Remove unused RPC

* Try to save a few loop iterations

* Change log order and ask for blocks before timeout

* Remove allow(unused)

* Fix linting

* Fix some peer bugs and improve logging

* hardens address_man

* Remove debug print

* Update internal information for address

* Don't log error as info

* Remove allow(unused) from peer

* Remove allow(unused) from udata

* Remove allow(unused) from request

* fix some sync bugs

* Doc: add module-level docs to address_man

* Update visibility of proof_utils
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