Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions docs/core/reference/p2p-network-governance-messages.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ The [`govobj` message](../reference/p2p-network-governance-messages.md#govobj) c
| 32 | nHashParent | uint256 | Required | Parent object (a hash of all zeros here indicates this is the root object, not a child object).
| 4 | nRevision | int | Required | Object revision in the system
| 8 | nTime | int64_t | Required | Time which this object was created
| 32 | nCollateralHash | uint256 | Required* | Hash of the collateral fee transaction for proposals.<br><br>Set to all zeros for Triggers.
| 32 | nCollateralHash | uint256 | Required* | Hash of the fee transaction for proposals. The fee is an unrecoverable coin burn (OP_RETURN output).<br><br>Set to all zeros for Triggers.<br><br>**Note:** The field is historically named `nCollateralHash`, but the transaction is not recoverable collateral — it is a permanent coin burn.
| 0-16384 | strData | string | Required | Data field - can be used for anything (leading varint indicates size of data)
| 4 | nObjectType | int | Required | Type of governance object: <br>• `0` - Unknown<br>• `1` - Proposal<br>• `2` - Trigger
| 36 | masternode<br>OutPoint | outPoint | Required* | The unspent outpoint of the masternode (holding 1000 DASH) which is signing this object.<br><br>Set to all zeros for proposals since they can be created by non-masternodes.
Expand All @@ -32,18 +32,18 @@ Governance Object Types (defined by `src/governance-object.h`)
| Type | Name | Description
|------|-------------------------|------------
| 0 | `GOVERNANCE_OBJECT_UNKNOWN` |
| 1 | `GOVERNANCE_OBJECT_PROPOSAL` | Submitted proposal (requires a collateral transaction - 1 Dash)
| 1 | `GOVERNANCE_OBJECT_PROPOSAL` | Submitted proposal (requires a fee of 1 Dash, burned via OP_RETURN)
| 2 | `GOVERNANCE_OBJECT_TRIGGER` | Masternode generated. Removed after activation/execution. Used for superblocks.

The following annotated hexdump shows a [`govobj` message](../reference/p2p-network-governance-messages.md#govobj) for a Proposal object. Notice the presence of a non-zero collateral hash, a masternodeOutPoint that is an empty Outpoint (hash of all zeros), and no vchSig. (The message header has been omitted.)
The following annotated hexdump shows a [`govobj` message](../reference/p2p-network-governance-messages.md#govobj) for a Proposal object. Notice the presence of a non-zero fee transaction hash (the `nCollateralHash` field — a coin burn via OP_RETURN), a masternodeOutPoint that is an empty Outpoint (hash of all zeros), and no vchSig. (The message header has been omitted.)

``` text
00000000000000000000000000000000
00000000000000000000000000000000 ..... Parent Hash (0 = root)
01000000 ............................. Revision: 1
c8dfd65900000000 ..................... Create timestamp: 2017-10-06 01:43:31 UTC
633611d2f3e7481325242f200c7f3485
e3a9b4b6301e7f7d18d87d8231f3880b ..... Collateral Hash
e3a9b4b6301e7f7d18d87d8231f3880b ..... Fee Tx Hash (coin burn via OP_RETURN)

Data
| 3e02 ............................... Data length: 574
Expand All @@ -61,15 +61,15 @@ Masternode Unspent Outpoint
| .................................... Masternode Signature (None required)
```

The following annotated hexdump shows a [`govobj` message](../reference/p2p-network-governance-messages.md#govobj) for a Trigger object. Notice the collateral hash of all zeros. (The message header has been omitted.)
The following annotated hexdump shows a [`govobj` message](../reference/p2p-network-governance-messages.md#govobj) for a Trigger object. Notice the fee transaction hash (`nCollateralHash`) of all zeros since triggers do not require a fee. (The message header has been omitted.)

``` text
00000000000000000000000000000000
00000000000000000000000000000000 ..... Parent Hash (0 = root)
01000000 ............................. Revision: 1
911ea85900000000 ..................... Create timestamp: 2017-08-31 14:34:57 UTC
00000000000000000000000000000000
00000000000000000000000000000000 ..... Collateral Hash (None required)
00000000000000000000000000000000 ..... Fee Tx Hash (none required for triggers)

Data
| ae11 ............................... Data length: 4526
Expand Down
28 changes: 14 additions & 14 deletions docs/user/governance/using.rst
Original file line number Diff line number Diff line change
Expand Up @@ -202,25 +202,25 @@ proceed to the next step. Otherwise, click **Back** to adjust your proposal data

Validating the proposal JSON and hash

Preparing the collateral
^^^^^^^^^^^^^^^^^^^^^^^^
Preparing the proposal fee
^^^^^^^^^^^^^^^^^^^^^^^^^^

.. warning::

The following step will create a transaction burning 1 DASH as the proposal submission fee. This
transaction is irreversible once broadcast. Verify all proposal details are correct before
proceeding.

After validation, you will see a screen prompting you to prepare and burn the 1 DASH collateral fee.
After validation, you will see a screen prompting you to prepare and burn the 1 DASH proposal fee.
This fee is required to prevent spam and is permanently removed from circulation. Click **Prepare
proposal** to create the fee transaction.

.. figure:: img/core-qt/proposal-prepare-burn.png
:width: 350px

Proposal collateral burn preparation screen
Proposal fee burn preparation screen

Click **Yes** on the confirmation dialog to broadcast the collateral transaction.
Click **Yes** on the confirmation dialog to broadcast the fee transaction.

.. figure:: img/core-qt/proposal-burn-fee-notice.png
:width: 300px
Expand All @@ -232,12 +232,12 @@ The transaction ID will be generated and displayed in the TxID field.
.. figure:: img/core-qt/proposal-prepare-burned.png
:width: 350px

Transaction ID generated for the proposal collateral
Transaction ID generated for the proposal fee

Waiting for confirmations
^^^^^^^^^^^^^^^^^^^^^^^^^

The wallet will display the confirmation progress for your collateral transaction. One confirmation
The wallet will display the confirmation progress for your fee transaction. One confirmation
is required before you can submit the proposal to the network. After the first confirmation, click
the **Next** button to move to the proposal submission screen.

Expand Down Expand Up @@ -399,17 +399,17 @@ https://codebeautify.org/string-hex-converter provide an easy way to do this::

7b226e616d65223a22546573742d70726f706f73616c5f31222c227061796d656e745f61646472657373223a227964354b4d52457333474c4d65366d544a597233597248316a75774e777246436642222c227061796d656e745f616d6f756e74223a31302c2274797065223a312c2275726c223a22687474703a2f2f746573742e636f6d222c2273746172745f65706f6368223a313633353735303030302c22656e645f65706f6368223a313633363735303030307d

Prepare the collateral transaction
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Prepare the fee transaction
^^^^^^^^^^^^^^^^^^^^^^^^^^^

Finally, open your Dash Core wallet console and use the ``gobject prepare``
command to complete the proposal preparation and submit the collateral
transaction. See the :ref:`Core developer documentation
command to complete the proposal preparation and submit the fee
transaction (a 1 DASH coin burn). See the :ref:`Core developer documentation
<api-rpc-dash-gobject-prepare>` for additional details.

.. warning::
Running this command will create a transaction spending 1 DASH from the wallet
as collateral for the proposal being created. Only run this command once you
Running this command will create a transaction burning 1 DASH from the wallet
as the proposal fee. This burn is irreversible. Only run this command once you
have verified all the proposal information. The transaction is not reversible
once sent.

Expand All @@ -426,7 +426,7 @@ Example command::

gobject prepare 0 1 1636000000 7b226e616d65223a22546573742d70726f706f73616c5f31222c227061796d656e745f61646472657373223a227964354b4d52457333474c4d65366d544a597233597248316a75774e777246436642222c227061796d656e745f616d6f756e74223a31302c2274797065223a312c2275726c223a22687474703a2f2f746573742e636f6d222c2273746172745f65706f6368223a313633353735303030302c22656e645f65706f6368223a313633363735303030307d

The command will execute and respond with a transaction ID for the collateral payment::
The command will execute and respond with a transaction ID for the fee burn::

9192fb57953baba168f685e32378aa6471061301a097598c68ef1a4c136c9ea3

Expand Down