Network Handshake Diagram

This commit is contained in:
Josh Green
2019-12-24 11:46:14 -05:00
committed by bitcoin
parent bd94f6118f
commit cd331c6bc1
+19 -11
View File
@@ -17,17 +17,25 @@ Once each Node has sent and received a Verack message, normal node operation may
When a local Node initiates a connection to a remote Node, the remote Node will remain silent it receives a version message. When a local Node initiates a connection to a remote Node, the remote Node will remain silent it receives a version message.
```mermaid
sequenceDiagram
Local->>Remote: Version
Note Right of Remote: #35;1
Remote->>Local: Version
Note Left of Local: #35;2
Remote->>Local: Verack
Note Left of Local: #35;3
Local->>Remote: Verack
Note Right of Remote: #35;4
``` ```
# SequenceDiagram
title Node Handshake
Local->>Remote: Sends Version Message 1. Local sends Version Message to Remote containing Local's Version Number.
note right of Remote: Version Message contains Local's Version Number.
Remote->>Local: Sends Version Message 2. Remote sends Version Message containing Remote's Version Number.
note left of Local: Version Message contains Remote's Version Number.
Remote->>Local: Sends Verack Message 3. If Local's Version Number is compatible, Remote uses the lower of the two Version Numbers and sends Verack Message.
note left of Local: Local uses the lower of the two Version Numbers, if compatible.
Local->>Remote: Sends Verack Message 4. If Remote's Version Number is compatible, Local uses the lower of the two Version Numbers and sends Verack Message.
note right of Remote: Remote uses the lower of the two Version Numbers, if compatible.
```