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.
|
||||
| 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.**
|
||||
| 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
|
||||
for future implementations. Dash Core ignores all inventories with
|
||||
|
|
|
@ -872,43 +872,34 @@ Coinbase Transaction Payload
|
|||
|
||||
{% 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
|
||||
{% include helpers/subhead-links.md %}
|
||||
Since this special transaction pays no fees, it is mandatory by consensus rules
|
||||
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
|
||||
{% 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
|
||||
<!-- hexdump needed -->
|
||||
|
||||
{% 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_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_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"
|
||||
[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"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue