diff --git a/_includes/devdoc/ref_p2p_networking.md b/_includes/devdoc/ref_p2p_networking.md index 3d10cf4a..aa4d83e0 100644 --- a/_includes/devdoc/ref_p2p_networking.md +++ b/_includes/devdoc/ref_p2p_networking.md @@ -1090,6 +1090,20 @@ section][section message header] for an example of a message without a payload. {% endautocrossref %} +#### GetSporks +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +The `getsporks` message requests `spork` messages from the receiving +node. + +There is no payload in a `getsporks` message. See the [message header +section][section message header] for an example of a message without a payload. + +{% endautocrossref %} + + #### Ping {% include helpers/subhead-links.md %} @@ -1207,6 +1221,43 @@ section][section message header] for an example of a message without a payload. {% endautocrossref %} + +#### Spork +{% include helpers/subhead-links.md %} + +{% autocrossref %} +Sporks are a mechanism by which updated code is released to the network, but +not immediately made active (or “enforced”). Enforcement of the updated code +can be activated remotely. Should problems arise, the code can be deactivated +in the same manner, without the need for a network-wide rollback or client update. + +The `spork` message tells the receiving peer the status of the spork defined by +the SporkID field. + +| Bytes | Name | Data type | Required | Description | +| ---------- | ----------- | --------- | -------- | -------- | +| 4 | nSporkID | int | Required | ID assigned in spork.h +| 8 | nValue | int64_t | Required | Value assigned to spork +| 8 | nTimeSigned | int64_t | Required | Time the spork value was signed +| 66* | vchSig | char[] | Required | 66 bytes in most cases. Length (1 byte) + Signature (65 bytes) + +Defined Sporks (per [`src/spork.h`][spork.h]) + +| Spork ID | Number | Name | Description | +| ---------- | ---------- | ----------- | ----------- | +| 10001 | 2 | `INSTANTSEND_ENABLED` | Turns on and off InstantSend network wide +| 10002 | 3 | `INSTANTSEND_BLOCK_FILTERING` | Turns on and off InstantSend block filtering +| 10004 | 5 | `INSTANTSEND_MAX_VALUE` | Controls the max value for an InstantSend transaction (currently 2000 dash) +| 10007 | 8 | `MASTERNODE_PAYMENT_ENFORCEMENT` | Requires masternodes to be paid by miners when blocks are processed +| 10008 | 9 | `SUPERBLOCKS_ENABLED` | Superblocks are enabled (the 10% comes to fund the dash treasury) +| 10009 | 10 | `MASTERNODE_PAY_UPDATED_NODES` | Only current protocol version masternode's will be paid (not older nodes) +| 10011 | 12 | `RECONSIDER_BLOCKS` | +| 10012 | 13 | `OLD_SUPERBLOCK_FLAG` | +| 10013 | 14 | `REQUIRE_SENTINEL_FLAG` | Only masternode's running sentinel will be paid + +{% endautocrossref %} + + #### VerAck {% include helpers/subhead-links.md %} @@ -1220,7 +1271,6 @@ section][section message header]. {% endautocrossref %} - #### Version {% include helpers/subhead-links.md %} @@ -1286,3 +1336,247 @@ cf050500 ........................... Start height: 329167 {% endhighlight %} {% endautocrossref %} + + + +### InstantSend Messages +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +The following network messages all help control the InstantSend feature of Dash. + +{% endautocrossref %} + +#### ix +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + + +#### txlvote +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + + +### PrivateSend Messages +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +The following network messages all help control the PrivateSend coin mixing +features built in to Dash. + +{% endautocrossref %} + +#### dsa +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + + +#### dsc +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + + +#### dsf +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + + +#### dsi +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + + +#### dss +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + + +#### dsq +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + + +#### dssu +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + + +#### dstx +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + + +### Masternode Messages +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +The following network messages enable the Masternode features built in to Dash. + +{% endautocrossref %} + +#### dseg +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + +#### mnb +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + +#### mnget +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + +#### mnp +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + +#### mnv +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + +#### mnw +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + +#### mnwb +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + +#### ssc +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + +#### mnvs +{% include helpers/subhead-links.md %} + +{% autocrossref %} +Deprecated since 12.1 + +{% endautocrossref %} + +#### mvote +{% include helpers/subhead-links.md %} + +{% autocrossref %} +Deprecated since 12.1 + +{% endautocrossref %} + +#### mprop +{% include helpers/subhead-links.md %} + +{% autocrossref %} +Deprecated since 12.1 + +{% endautocrossref %} + +#### fbs +{% include helpers/subhead-links.md %} + +{% autocrossref %} +Deprecated since 12.1 + +{% endautocrossref %} + +#### fbvote +{% include helpers/subhead-links.md %} + +{% autocrossref %} +Deprecated since 12.1 + +{% endautocrossref %} + +#### mn quorum +{% include helpers/subhead-links.md %} + +{% autocrossref %} +Not Implemented +{% endautocrossref %} + + +### Governance Messages +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +The following network messages enable the Governance features built in to Dash. + +{% endautocrossref %} + +#### govobj +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + +#### govobjvote +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} + +#### govsync +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +{% endautocrossref %} diff --git a/_includes/references.md b/_includes/references.md index 3d3ccb15..c438d209 100644 --- a/_includes/references.md +++ b/_includes/references.md @@ -480,3 +480,4 @@ periodically to point to recent code. Last update: 2017-09-05 --> {% endcomment [core bloom.cpp hash]: https://github.com/dashpay/dash/blob/333e1eaeea80344e5a28db6efbce2691c85e2b25/src/bloom.cpp#L58 [MAX_SIZE]: https://github.com/dashpay/dash/blob/c31ba8ba4c07e72620bd71753f2103ca103bb1c2/src/serialize.h#L26 [rpcprotocol.h]: https://github.com/dashpay/dash/blob/3e0eee4c84f40b3cf277e8d03e004249d03c081d/src/rpcprotocol.h +[spork.h]: https://github.com/dashpay/dash/blob/e1702cd4eca5f276c75cae9de0eb274369b031f6/src/spork.h#L22