From 27fdb3d0507f9ec73b5e2e569fa760aa7b3b2edf Mon Sep 17 00:00:00 2001 From: thephez Date: Fri, 8 Sep 2017 15:50:30 -0400 Subject: [PATCH] Governance (P2P) updates - Add details to govobjvote and govsync --- _autocrossref.yaml | 8 ++++- _includes/devdoc/ref_p2p_networking.md | 47 +++++++++++++++++++++++++- _includes/references.md | 3 ++ 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/_autocrossref.yaml b/_autocrossref.yaml index 54d4b3aa..f8456c70 100644 --- a/_autocrossref.yaml +++ b/_autocrossref.yaml @@ -46,6 +46,12 @@ fiat: '`getaddr` messages': getaddr message '`getsporks` message': getsporks message '`getsporks` messages': getsporks message +'`govobj` message': govobj message +'`govobj` messages': govobj message +'`govobjvote` message': govobjvote message +'`govobjvote` messages': govobjvote message +'`govsync` message': govsync message +'`govsync` messages': govsync message '`headers` message': headers message '`headers` messages': headers message intermediate certificate: @@ -128,7 +134,7 @@ public key infrastructure: pki '`r`': r receipt: recurrent rebilling: -refund: +refund: refunds: refund '`reject` message': reject message '`reject` messages': reject message diff --git a/_includes/devdoc/ref_p2p_networking.md b/_includes/devdoc/ref_p2p_networking.md index 82ea32db..f7362efd 100644 --- a/_includes/devdoc/ref_p2p_networking.md +++ b/_includes/devdoc/ref_p2p_networking.md @@ -1704,7 +1704,7 @@ Data 02000000 ............................. Object Type (2 = GOVERNANCE_OBJECT_TRIGGER) Transaction input -| UTXO +| Previous Output | | ffefbe4959085907bcd2ba29e357a441 | | fa7b6e26e25896d8127332bba2419e97 ... Outpoint TXID | | 00000000 ........................... Outpoint index number (0) @@ -1726,6 +1726,8 @@ Transaction input {% autocrossref %} +The `govobjvote` message is ... + | Bytes | Name | Data type | Required | Description | | ---------- | ----------- | --------- | -------- | -------- | | 41+ | vinMasternode | CTxIn | Required | Unspent output for the masternode which is voting @@ -1735,6 +1737,33 @@ Transaction input | 8 | nTime | int64_t | Required | Time which the vote was created | 66* | vchSig | char[] | Required | Signature of the masternode (66 bytes in most cases. Length (1 byte) + Signature (65 bytes)) +The following annotated hexdump shows a `govobjvote` message. (The +message header has been omitted.) + +{% highlight text %} +Transaction input +| Previous Output +| | 57566a0ef85e6cac3415ced67b0b07e1 +| | 781bafb853650d7c9d56d8bc132cc3b4 ... Outpoint TXID +| | 00000000 ........................... Outpoint index number (0) +| 00 ................................... Script length (0) +| ...................................... Signature (None) +| ffffffff ............................. Sequence + +ad9579d5c181eee904156df1c88b050f +b8b4d39e5fda71f015996dbf14a51bff...... Parent Hash (0 = root) +01000000 ............................. Vote Outcome (1 = VOTE_OUTCOME_NONE) +02000000 ............................. Vote Signal (2 = VOTE_SIGNAL_VALID) +b517a85900000000 ..................... Vote Create Timestamp(2017-08-31 10:05:41 EDT) +00000000000000000000000000000000 ..... Collateral Hash + +1b049113a81fe913f061ad295561d267 +00b8135a021ab0356a1e89b18d663d0b +dc45e9c09ee0427223e332b52e8d709e +6d64e86b6435d7bdf207d8f23b6ae0db +6f ................................... Masternode Signature +{% endhighlight %} + {% endautocrossref %} #### govsync @@ -1742,4 +1771,20 @@ Transaction input {% autocrossref %} +The `govsync` message is ... + +| Bytes | Name | Data type | Required | Description | +| ---------- | ----------- | --------- | -------- | -------- | +| 32 | nHash | uint256 | Required | +| # | filter | CBloomFiter | Required | + +The following annotated hexdump shows a `govsync` message. (The +message header has been omitted.) + +{% highlight text %} +2e46ea5418e097a3dbcccbee3cf2a911 +6fb94ba635153f276dcb2123efcb73ff ..... Hash +00000000000000000000 ................. Bloom Filter +{% endhighlight %} + {% endautocrossref %} diff --git a/_includes/references.md b/_includes/references.md index 8e23570f..4f00b650 100644 --- a/_includes/references.md +++ b/_includes/references.md @@ -212,6 +212,9 @@ http://opensource.org/licenses/MIT. [getdata message]: /en/developer-reference#getdata "A P2P protocol message used to request one or more transactions, blocks, or merkle blocks" [getheaders message]: /en/developer-reference#getheaders "A P2P protocol message used to request a range of block headers" [getsporks message]: /en/developer-reference#getsporks "A P2P network message used to request the status of sporks" +[govobj message]: /en/developer-reference#govobj "A P2P network message used to send governance objects" +[govobjvote message]: /en/developer-reference#govobj "A P2P network message used to send governance object votes" +[govsync message]: /en/developer-reference#govobj "A P2P network message used to synchronize governance objects" [headers message]: /en/developer-reference#headers "A P2P protocol message containing one or more block headers" [inv message]: /en/developer-reference#inv "A P2P protocol message used to send inventories of transactions and blocks known to the transmitting peer" [ix message]: /en/developer-reference#ix "A P2P protocol message which sends a single serialized transaction via InstantSend"