-
Notifications
You must be signed in to change notification settings - Fork 54
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
Add v2 p2p support (BIP324) #373
base: master
Are you sure you want to change the base?
Conversation
09685f8
to
9b6b614
Compare
c4e17cf
to
7f090a2
Compare
I am going to attempt add one more commit to this patch to pull in the TCP and SOCKS5 connections into the transport module. At first I tried to avoid this, but it will make the connection handshake way more robust. I believe this is inline with your thoughts on other transports like websockets @Davidson-Souza |
90c6095
to
bc3b68e
Compare
Pushed down the connection logic in 8fb1379 Ended up just squashing all the commits since the early ones were semi-broken use-ability. |
I fired up florestad on mainnet with this branch and I see logs like the following so I think things are going smoothly, but I'll admit I am not sure the best way to exercise more of the utreexo specific things.
|
What is the purpose of this pull request?
Which crates are being modified?
Description
The new
transport
module wraps up the V1 and V2 p2p protocols so that the rest of the app doesn't have to care, but this lead to a few refactors and open questions.RawNetworkMessage
toNetworkMessage
. RawNetworkMessage is essentially a V1 message (bit of a misnomer) whereas NetworkMessage is agnostic. Considering the transport module handles V1 or V2, the rest of the app doesn't care and can just use NetworkMessage.transport
module require some more explicit type bounds throughout the rest of the app. These aren't new requirements, they were just implicit before.Notes to the reviewers
Checklist
just lint
cargo test