diff --git a/_includes/devdoc/ref_p2p_networking.md b/_includes/devdoc/ref_p2p_networking.md index a03f63f6..86f7b4df 100644 --- a/_includes/devdoc/ref_p2p_networking.md +++ b/_includes/devdoc/ref_p2p_networking.md @@ -67,7 +67,7 @@ As of Dash Core 0.12.1.5, the most recent protocol version is 70206. | Version | Initial Release | Major Changes |---------|------------------------------------|-------------- -| 70208 | Dash Core 0.12.2.x
(??? 2017) | +| 70208 | Dash Core 0.12.2.x
(Nov 2017) | | 70206 | Dash Core 0.12.1.x
(Mar 2017) | | 70103 | Dash Core 0.12.0.x
(Aug 2015) | | 70076 | Dash Core 0.11.2.x
(Apr 2015) | @@ -2153,7 +2153,12 @@ ece5a95900000000 ..................... Signature Timestamp {% autocrossref %} -The following network messages enable the Masternode features built in to Dash. +The following network messages enable the masternode features built in to Dash. + +![Overview Of P2P Protocol Masternode Request And Reply Messages](/img/dev/en-p2p-masternode-messages.svg) + +For additional details, refer to the Developer Guide [Masternode Sync](developer-guide#masternode-sync) +and [Masternode Payment](developer-guide#masternode-payment) sections. {% endautocrossref %} @@ -2776,7 +2781,7 @@ message header has been omitted.) {% autocrossref %} -The following network messages have been deprecated and should not longer be used. +The following network messages have been deprecated and should no longer be used. {% endautocrossref %} diff --git a/img/dev/en-p2p-governance-messages.dot b/img/dev/en-p2p-governance-messages.dot new file mode 100644 index 00000000..e8d28513 --- /dev/null +++ b/img/dev/en-p2p-governance-messages.dot @@ -0,0 +1,34 @@ +digraph { + +size="6.25"; +rankdir=LR +nodesep=0.05; +ranksep=0.1; +splines="false" + +edge [ penwidth = 1.75, fontname="Sans", dir="none" ] +node [ penwidth = 1.75, shape = "box", fontname="Sans", ] +graph [ penwidth = 1.75, fontname="Sans" ] + +"govsync" -> "ssc (govobj)\ninv (govobj)"; +govsync -> "ssc (govobjvote)\ninv (govobjvote)"; + +"ssc (govobj)\ninv (govobj)" -> getdata; +"ssc (govobjvote)\ninv (govobjvote)" -> getdata; + +getdata -> govobj; +getdata -> govobjvote; + + +{ + node [ shape = "none" ]; + label1 [ label = "Request For Help\nGetting Up To Date" ]; + label2 [ label = "Reply With\nCount/Inventory" ]; + label3 [ label = "Request For\nSpecific Data" ]; + label4 [ label = "Reply With\nRequested Data" ]; + + label1 -> label2 -> label3 -> label4 [style = "invis" ]; +} + +label = "Overview Of P2P Protocol Governance Request and Reply Messages" +} diff --git a/img/dev/en-p2p-governance-messages.png b/img/dev/en-p2p-governance-messages.png index 2f9fc6d4..45b72386 100644 Binary files a/img/dev/en-p2p-governance-messages.png and b/img/dev/en-p2p-governance-messages.png differ diff --git a/img/dev/en-p2p-governance-messages.svg b/img/dev/en-p2p-governance-messages.svg index f8f1959f..489cc108 100644 --- a/img/dev/en-p2p-governance-messages.svg +++ b/img/dev/en-p2p-governance-messages.svg @@ -1,544 +1,93 @@ - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - _anonymous_0 - - Overview Of P2P Protocol Governance Request And Reply Messages - - - - getblocks - - - govsync - - - - - - - - getdata - - - getdata->block - - - - - - - - - - block - - - govobj - - - - - - merkleblock - - - govobjvote - - - - - getdata->merkleblock - - - - - - - - headers - - - - - Request For - Governance Sync - - - - Reply With - Count / Inventory - - - - - label3 - - Request For - Specific Data - - - - - - label4 - - Reply With - Requested Data - - - - - inv->getdata - - - - inv->getdata - - - - - - govsync_response - - ssc - - - ssc - - - - inv - - - inv - - - - getheaders->headers - - - - - govsync_response - - ssc - - - ssc - - - - inv - - - inv - - - - getheaders->headers - - - - - govobjvote - - - govobj - - - + + + +%3 + +Overview Of P2P Protocol Governance Request and Reply Messages + +govsync + +govsync + + +ssc (govobj)\ninv (govobj) + +ssc (govobj) +inv (govobj) + + +govsync->ssc (govobj)\ninv (govobj) + + + +ssc (govobjvote)\ninv (govobjvote) + +ssc (govobjvote) +inv (govobjvote) + + +govsync->ssc (govobjvote)\ninv (govobjvote) + + + +getdata + +getdata + + +ssc (govobj)\ninv (govobj)->getdata + + + +ssc (govobjvote)\ninv (govobjvote)->getdata + + + +govobj + +govobj + + +getdata->govobj + + + +govobjvote + +govobjvote + + +getdata->govobjvote + + + +label1 +Request For Help +Getting Up To Date + + +label2 +Reply With +Count/Inventory + + + +label3 +Request For +Specific Data + + + +label4 +Reply With +Requested Data + + + diff --git a/img/dev/en-p2p-masternode-messages.dot b/img/dev/en-p2p-masternode-messages.dot new file mode 100644 index 00000000..8873c01b --- /dev/null +++ b/img/dev/en-p2p-masternode-messages.dot @@ -0,0 +1,41 @@ +digraph { + +size="6.25"; +rankdir=LR +nodesep=0.05; +ranksep=0.1; +splines="false" + +edge [ penwidth = 1.75, fontname="Sans", dir="none" ] +node [ penwidth = 1.75, shape = "box", fontname="Sans", ] +graph [ penwidth = 1.75, fontname="Sans" ] + +// MN List +dseg -> "ssc (mnb)\ninv (mnb)"; +dseg -> "ssc (mnp)\ninv (mnp)"; + +"ssc (mnb)\ninv (mnb)" -> getdata; +"ssc (mnp)\ninv (mnp)" -> getdata; + +getdata -> mnb; +getdata -> mnp; + +// MN Payments +mnget -> "ssc (mnget)\ninv (mnw)"; + +"ssc (mnget)\ninv (mnw)" -> getdata; + +getdata -> mnw; + +{ + node [ shape = "none" ]; + label1 [ label = "Request For Help\nGetting Up To Date" ]; + label2 [ label = "Reply With\nCount/Inventory" ]; + label3 [ label = "Request For\nSpecific Data" ]; + label4 [ label = "Reply With\nRequested Data" ]; + + label1 -> label2 -> label3 -> label4 [style = "invis" ]; +} + +label = "Overview Of P2P Protocol Masternode Request and Reply Messages" +} diff --git a/img/dev/en-p2p-masternode-messages.svg b/img/dev/en-p2p-masternode-messages.svg new file mode 100644 index 00000000..e396214e --- /dev/null +++ b/img/dev/en-p2p-masternode-messages.svg @@ -0,0 +1,121 @@ + + + + + + +%3 + +Overview Of P2P Protocol Masternode Request and Reply Messages + +dseg + +dseg + + +ssc (mnb)\ninv (mnb) + +ssc (mnb) +inv (mnb) + + +dseg->ssc (mnb)\ninv (mnb) + + + +ssc (mnp)\ninv (mnp) + +ssc (mnp) +inv (mnp) + + +dseg->ssc (mnp)\ninv (mnp) + + + +getdata + +getdata + + +ssc (mnb)\ninv (mnb)->getdata + + + +ssc (mnp)\ninv (mnp)->getdata + + + +mnb + +mnb + + +getdata->mnb + + + +mnp + +mnp + + +getdata->mnp + + + +mnw + +mnw + + +getdata->mnw + + + +mnget + +mnget + + +ssc (mnget)\ninv (mnw) + +ssc (mnget) +inv (mnw) + + +mnget->ssc (mnget)\ninv (mnw) + + + +ssc (mnget)\ninv (mnw)->getdata + + + +label1 +Request For Help +Getting Up To Date + + +label2 +Reply With +Count/Inventory + + + +label3 +Request For +Specific Data + + + +label4 +Reply With +Requested Data + + + +