From 5e730e5cb0dd29bb581c52e3626d6e671fdadbc4 Mon Sep 17 00:00:00 2001 From: Jimmy Date: Fri, 24 Jan 2025 11:43:13 +0800 Subject: [PATCH 1/2] fix the bug --- src/Neo/Network/P2P/RemoteNode.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Neo/Network/P2P/RemoteNode.cs b/src/Neo/Network/P2P/RemoteNode.cs index 11480c82af..d2b453e5a1 100644 --- a/src/Neo/Network/P2P/RemoteNode.cs +++ b/src/Neo/Network/P2P/RemoteNode.cs @@ -234,7 +234,11 @@ internal static Props Props(NeoSystem system, LocalNode localNode, object connec private void SendMessage(Message message) { ack = false; - SendData(ByteString.FromBytes(message.ToArray(Version.AllowCompression))); + // Here it is possible that we dont have the Version message yet, + // so we need to send the message uncompressed + SendData(message.Command == MessageCommand.Version + ? ByteString.FromBytes(message.ToArray()) + : ByteString.FromBytes(message.ToArray(Version.AllowCompression))); sentCommands[(byte)message.Command] = true; } From 5a6ff93ea16e5402b7223326f0758394a7c93b3a Mon Sep 17 00:00:00 2001 From: Jimmy Date: Fri, 24 Jan 2025 12:24:48 +0800 Subject: [PATCH 2/2] Update RemoteNode.cs Co-authored-by: Christopher Schuchardt --- src/Neo/Network/P2P/RemoteNode.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Neo/Network/P2P/RemoteNode.cs b/src/Neo/Network/P2P/RemoteNode.cs index d2b453e5a1..f9e987dc5a 100644 --- a/src/Neo/Network/P2P/RemoteNode.cs +++ b/src/Neo/Network/P2P/RemoteNode.cs @@ -236,9 +236,7 @@ private void SendMessage(Message message) ack = false; // Here it is possible that we dont have the Version message yet, // so we need to send the message uncompressed - SendData(message.Command == MessageCommand.Version - ? ByteString.FromBytes(message.ToArray()) - : ByteString.FromBytes(message.ToArray(Version.AllowCompression))); + SendData(ByteString.FromBytes(message.ToArray(Version?.AllowCompression ?? false))); sentCommands[(byte)message.Command] = true; }