1- use std:: io:: { BufReader , Write } ;
1+ use std:: io:: BufReader ;
22use std:: net:: { IpAddr , Ipv4Addr , Shutdown , SocketAddr , TcpStream } ;
33use std:: time:: { SystemTime , UNIX_EPOCH } ;
44use std:: { env, process} ;
55
6- use bitcoin:: consensus:: { encode, Decodable } ;
76use bitcoin_p2p_messages:: message_network:: { ClientSoftwareVersion , UserAgent , UserAgentVersion } ;
87use bitcoin_p2p_messages:: {
98 self , address, message, message_network, Magic , ProtocolVersion , ServiceFlags ,
@@ -36,15 +35,17 @@ fn main() {
3635
3736 if let Ok ( mut stream) = TcpStream :: connect ( address) {
3837 // Send the message
39- let _ = stream . write_all ( encode :: serialize ( & first_message) . as_slice ( ) ) ;
38+ encoding :: encode_to_writer ( & first_message, & mut stream ) . unwrap ( ) ;
4039 println ! ( "Sent version message" ) ;
4140
4241 // Setup StreamReader
4342 let read_stream = stream. try_clone ( ) . unwrap ( ) ;
4443 let mut stream_reader = BufReader :: new ( read_stream) ;
4544 loop {
4645 // Loop and retrieve new messages
47- let reply = message:: RawNetworkMessage :: consensus_decode ( & mut stream_reader) . unwrap ( ) ;
46+ let reply =
47+ encoding:: decode_from_read :: < message:: RawNetworkMessage , _ > ( & mut stream_reader)
48+ . unwrap ( ) ;
4849 match reply. payload ( ) {
4950 message:: NetworkMessage :: Version ( _) => {
5051 println ! ( "Received version message: {:?}" , reply. payload( ) ) ;
@@ -54,7 +55,7 @@ fn main() {
5455 message:: NetworkMessage :: Verack ,
5556 ) ;
5657
57- let _ = stream . write_all ( encode :: serialize ( & second_message) . as_slice ( ) ) ;
58+ encoding :: encode_to_writer ( & second_message, & mut stream ) . unwrap ( ) ;
5859 println ! ( "Sent verack message" ) ;
5960 }
6061 message:: NetworkMessage :: Verack => {
0 commit comments