mirror of
https://github.com/seigler/dash-docs
synced 2025-07-27 17:56:16 +00:00
Content - Special transactions
Add info for Quorum commitment Remove messages not in 13.0 (SubTx)
This commit is contained in:
parent
ab05790243
commit
b935ba5e9c
3 changed files with 24 additions and 32 deletions
|
@ -174,6 +174,7 @@ The currently-available type identifiers are:
|
||||||
| 18 | [`MSG_GOVERNANCE_OBJECT_VOTE`][msg_governance_object_vote]{:#term-msg_governance_object_vote}{:.term} | The hash is a Governance Object Vote.
|
| 18 | [`MSG_GOVERNANCE_OBJECT_VOTE`][msg_governance_object_vote]{:#term-msg_governance_object_vote}{:.term} | The hash is a Governance Object Vote.
|
||||||
| 19 | [`MSG_MASTERNODE_VERIFY`][msg_masternode_verify]{:#term-msg_masternode_verify}{:.term} | The hash is a Masternode Verify.
|
| 19 | [`MSG_MASTERNODE_VERIFY`][msg_masternode_verify]{:#term-msg_masternode_verify}{:.term} | The hash is a Masternode Verify.
|
||||||
| 20 | [`MSG_CMPCT_BLOCK`][msg_cmpct_block]{:#term-msg_cmpct_block}{:.term} | The hash is of a block header; identical to `MSG_BLOCK`. When used in a `getdata` message, this indicates the response should be a `cmpctblock` message. **Only for use in `getdata` messages.**
|
| 20 | [`MSG_CMPCT_BLOCK`][msg_cmpct_block]{:#term-msg_cmpct_block}{:.term} | The hash is of a block header; identical to `MSG_BLOCK`. When used in a `getdata` message, this indicates the response should be a `cmpctblock` message. **Only for use in `getdata` messages.**
|
||||||
|
| 21 | [`MSG_QUORUM_FINAL_COMMITMENT`][msg_quorum_final_commitment]{:#term-msg_quorum_final_commitment}{:.term} | The hash is a long-living masternode quorum final commitment.
|
||||||
|
|
||||||
Type identifier zero and type identifiers greater than twenty are reserved
|
Type identifier zero and type identifiers greater than twenty are reserved
|
||||||
for future implementations. Dash Core ignores all inventories with
|
for future implementations. Dash Core ignores all inventories with
|
||||||
|
|
|
@ -872,43 +872,34 @@ Coinbase Transaction Payload
|
||||||
|
|
||||||
{% autocrossref %}
|
{% autocrossref %}
|
||||||
|
|
||||||
Quorum Commitment
|
*Added in protocol version 70212 of Dash Core as described by DIP6*
|
||||||
|
|
||||||
{% endautocrossref %}
|
The Quorum Commitment special transaction adds the best final commitment from a
|
||||||
|
Long-Living Masternode Quorum (LLMQ) Distributed Key Generation (DKG) session to
|
||||||
|
the chain. This special transaction has no inputs and no outputs and thus also
|
||||||
|
pays no fee.
|
||||||
|
|
||||||
#### SubTxRegister
|
Since this special transaction pays no fees, it is mandatory by consensus rules
|
||||||
{% include helpers/subhead-links.md %}
|
to ensure that miners include it. Exactly one quorum commitment transaction MUST
|
||||||
|
be included in every block while in the mining phase of the LLMQ process until a
|
||||||
|
valid commitment is present in a block.
|
||||||
|
|
||||||
{% autocrossref %}
|
If a DKG failed or a miner did not receive a final commitment in-time, a null
|
||||||
|
commitment has to be included in the special transaction payload. A null
|
||||||
|
commitment must have the `signers` and `validMembers` bitsets set to the
|
||||||
|
`quorumSize` and all bits set to zero. All other fields must be set to the null
|
||||||
|
representation of the field’s types.
|
||||||
|
|
||||||
Register Blockchain User
|
The special transaction type used for Quorum Commitment Transactions is 6 and
|
||||||
|
the extra payload consists of the following data:
|
||||||
|
|
||||||
{% endautocrossref %}
|
| Bytes | Name | Data type | Description |
|
||||||
|
| ---------- | ----------- | -------- | -------- |
|
||||||
|
| 2 | version | uint_16 | Quorum Commitment version number. Currently set to 1.
|
||||||
|
| 4 | height | uint32_t | Height of the block
|
||||||
|
| Variable | commitment | qfcommit | The payload of the `qfcommit` message
|
||||||
|
|
||||||
#### SubTxTopup
|
<!-- hexdump needed -->
|
||||||
{% include helpers/subhead-links.md %}
|
|
||||||
|
|
||||||
{% autocrossref %}
|
|
||||||
|
|
||||||
Topup Blockchain User Credit
|
|
||||||
|
|
||||||
{% endautocrossref %}
|
|
||||||
|
|
||||||
#### SubTxResetKey
|
|
||||||
{% include helpers/subhead-links.md %}
|
|
||||||
|
|
||||||
{% autocrossref %}
|
|
||||||
|
|
||||||
Change Blockchain User Public Key
|
|
||||||
|
|
||||||
{% endautocrossref %}
|
|
||||||
|
|
||||||
#### SubTxCloseAccount
|
|
||||||
{% include helpers/subhead-links.md %}
|
|
||||||
|
|
||||||
{% autocrossref %}
|
|
||||||
|
|
||||||
Close Blockchain User Account
|
|
||||||
|
|
||||||
{% endautocrossref %}
|
{% endautocrossref %}
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ http://opensource.org/licenses/MIT.
|
||||||
[msg_governance_object_vote]: /en/developer-reference#term-msg_governance_object_vote "Governance object vote data type identifier of an inventory on the P2P network"
|
[msg_governance_object_vote]: /en/developer-reference#term-msg_governance_object_vote "Governance object vote data type identifier of an inventory on the P2P network"
|
||||||
[msg_masternode_verify]: /en/developer-reference#term-msg_masternode_verify "Masternode Verify data type identifier of an inventory on the P2P network"
|
[msg_masternode_verify]: /en/developer-reference#term-msg_masternode_verify "Masternode Verify data type identifier of an inventory on the P2P network"
|
||||||
[msg_cmpct_block]: /en/developer-reference#term-msg_cmpct_block "An alternative to the block header hash data type identifier of an inventory on the P2P network used to request a compact block"
|
[msg_cmpct_block]: /en/developer-reference#term-msg_cmpct_block "An alternative to the block header hash data type identifier of an inventory on the P2P network used to request a compact block"
|
||||||
|
[msg_quorum_final_commitment]: /en/developer-reference#term-msg_quorum_final_commitment "The Long-Living Masternode Quorum Final Commitment data type identifier of an inventory on the P2P network"
|
||||||
[network]: /en/developer-guide#term-network "The Dash P2P network which broadcasts transactions and blocks"
|
[network]: /en/developer-guide#term-network "The Dash P2P network which broadcasts transactions and blocks"
|
||||||
[op_checkmultisig]: /en/developer-reference#term-op-checkmultisig "Opcode which returns true if one or more provided signatures (m) sign the correct parts of a transaction and match one or more provided public keys (n)"
|
[op_checkmultisig]: /en/developer-reference#term-op-checkmultisig "Opcode which returns true if one or more provided signatures (m) sign the correct parts of a transaction and match one or more provided public keys (n)"
|
||||||
[op_checksig]: /en/developer-reference#term-op-checksig "Opcode which returns true if a signature signs the correct parts of a transaction and matches a provided public key"
|
[op_checksig]: /en/developer-reference#term-op-checksig "Opcode which returns true if a signature signs the correct parts of a transaction and matches a provided public key"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue