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
2 changes: 1 addition & 1 deletion docs/core/api/remote-procedure-calls-removed.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

# Removed RPCs

The following RPCs were recently removed. See the [previous version of documentation](https://docs.dash.org/projects/core/en/20.1.0/docs/api/remote-procedure-calls-removed.html) for RPCs removed longer ago.
The following RPCs were recently removed. See the [previous version of documentation](https://docs.dash.org/projects/core/en/22.0.0/docs/api/remote-procedure-calls-removed.html) for RPCs removed longer ago.

## GObject Vote-conf

Expand Down
2 changes: 1 addition & 1 deletion docs/core/api/remote-procedure-calls-wallet-deprecated.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@
RPCs that require wallet support are **not available on masternodes** for security reasons. Such RPCs are designated with a "_Requires wallet support_" message.
:::

The following RPCs were recently removed. See the [previous version of documentation](https://docs.dash.org/projects/core/en/20.1.0/docs/api/remote-procedure-calls-wallet-deprecated.html) for RPCs removed longer ago.
The following RPCs were recently removed. See the [previous version of documentation](https://docs.dash.org/projects/core/en/22.0.0/docs/api/remote-procedure-calls-wallet-deprecated.html) for RPCs removed longer ago.
2 changes: 1 addition & 1 deletion docs/core/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ SDK Resources <https://docs.dash.org/en/stable/docs/user/developers/integration-
Dash Improvement Proposals <dips/README>
Dash Whitepaper <https://docs.dash.org/en/stable/introduction/about.html#whitepaper>
Bitcoin Whitepaper <https://bitcoin.org/bitcoin.pdf>
Previous Version of Docs <https://docs.dash.org/projects/core/en/21.0.0/docs/index.html>
Previous Version of Docs <https://docs.dash.org/projects/core/en/22.0.0/docs/index.html>
```

Questions about Dash development are best asked in one of the [Dash development
Expand Down
2 changes: 1 addition & 1 deletion docs/core/reference/p2p-network-control-messages.md
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@ See [PR 5398](https://github.com/dashpay/dash/pull/5398) for implementation deta

### Removed sporks

The following sporks were used in the past but are no longer necessary and have been removed recently. To see sporks removed longer ago, please see the [previous version of documentation](https://docs.dash.org/projects/core/en/21.0.0/docs/reference/p2p-network-control-messages.html#removed-sporks).
The following sporks were used in the past but are no longer necessary and have been removed recently. To see sporks removed longer ago, please see the [previous version of documentation](https://docs.dash.org/projects/core/en/22.0.0/docs/reference/p2p-network-control-messages.html#removed-sporks).

| Spork ID | Num. | Name | Description |
| :----------: | :----------: | ----------- | ----------- |
Expand Down
2 changes: 1 addition & 1 deletion docs/core/reference/p2p-network-deprecated-messages.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

The following network messages have been recently deprecated and should no longer be used. To see
network messages removed longer ago, please see the [previous version of
documentation](https://docs.dash.org/projects/core/en/21.0.0/docs/reference/p2p-network-deprecated-messages.html).
documentation](https://docs.dash.org/projects/core/en/22.0.0/docs/reference/p2p-network-deprecated-messages.html).

## islock

Expand Down
53 changes: 34 additions & 19 deletions docs/core/reference/transactions-special-transactions.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,25 +46,37 @@ The special transaction type is 1 and the extra payload consists of the followin

| Bytes | Name | Data type | Description |
| ---------- | ----------- | -------- | -------- |
| 2 | version | uint_16 | Provider transaction version number. Currently set to 1. Updated to 2 after v19 hard fork.
| 2 | version | uint_16 | Provider transaction version number.<br>**Version 1** - Legacy BLS scheme<br>**Version 2** - Basic BLS scheme (after v19 hard fork)<br>**Version 3** - Extended addresses with basic BLS scheme (after v24 hard fork activation)
| 2 | type | uint_16 | Masternode type. Default set to 0.
| 2 | mode | uint_16 | Masternode mode. Default set to 0.
| 36 | collateralOutpoint | COutpoint | The collateral outpoint.<br>**Note:** The hash will be null if the collateral is part of this transaction, otherwise it will reference an existing collateral.
| 16 | ipAddress | byte[] | IPv6 address in network byte order. Only IPv4 mapped addresses are allowed (to be extended in the future)
| 2 | port | uint_16 | Port (network byte order)
| 16 | ipAddress | byte[] | ***Version < 3 only***<br>IPv6 address in network byte order. Only IPv4 mapped addresses are allowed (to be extended in the future)<br>**Replaced by netInfo in version 3**
| 2 | port | uint_16 | ***Version < 3 only***<br>Port (network byte order)<br>**Replaced by netInfo in version 3**
| Variable | netInfo | byte[] | ***Version 3 and later***<br>Network address information structure. See [NetInfo Structure](#netinfo-structure) for details.
| 20 | KeyIdOwner | CKeyID | The public key hash used for owner related signing (ProTx updates, governance voting)
| 48 | PubKeyOperator | CBLSPublicKey | The BLS public key used for operational related signing (network messages, ProTx updates).<br>**Note**: serialization varies based on `version`:<br> - Version 1 - legacy BLS scheme<br> - Version 2 - basic BLS scheme
| 48 | PubKeyOperator | CBLSPublicKey | The BLS public key used for operational related signing (network messages, ProTx updates).<br>**Note**: serialization varies based on `version`:<br> - Version 1 - legacy BLS scheme<br> - Version 2+ - basic BLS scheme
| 20 | KeyIdVoting | CKeyID | The public key hash used for voting.
| 2 | operatorReward | uint_16 | A value from 0 to 10000.
| 1-9 | scriptPayoutSize | compactSize uint | Size of the Payee Script.
| Variable | scriptPayout | Script | Payee script (p2pkh/p2sh)
| 32 | inputsHash | uint256 | Hash of all the outpoints of the transaction inputs
| 0 or 20 | platformNodeID | byte[] | ***Added by ProRegTx version 2 in Dash Core 19.0.0***<br>Dash Platform P2P node ID, derived from P2P public key. Only present for masternode type 1.
| 0 or 2 | platformP2PPort | uint_16 | ***Added by ProRegTx version 2 in Dash Core 19.0.0***<br>TCP port of Dash Platform peer-to-peer communication between nodes (network byte order). Only present for masternode type 1.
| 0 or 2 | platformHTTPPort | uint_16 | ***Added by ProRegTx version 2 in Dash Core 19.0.0***<br>TCP port of Platform HTTP/API interface (network byte order). Only present for masternode type 1.
| 0 or 20 | platformNodeID | byte[] | ***Version 2 only***<br>Dash Platform P2P node ID, derived from P2P public key. Only present for masternode type 1.<br>**Replaced by netInfo in version 3**
| 0 or 2 | platformP2PPort | uint_16 | ***Version 2 only***<br>TCP port of Dash Platform peer-to-peer communication between nodes (network byte order). Only present for masternode type 1.<br>**Replaced by netInfo in version 3**
| 0 or 2 | platformHTTPPort | uint_16 | ***Version 2 only***<br>TCP port of Platform HTTP/API interface (network byte order). Only present for masternode type 1.<br>**Replaced by netInfo in version 3**
| 1-9 | payloadSigSize |compactSize uint | Size of the Signature
| Variable | payloadSig | vector | Signature of the hash of the ProTx fields. Signed with the key corresponding to the collateral outpoint in case the collateral is not part of the ProRegTx itself, empty otherwise.

### NetInfo Structure

The `netInfo` field contains the following structure:

| Bytes | Name | Data type | Description |
|-------|------|-----------|-------------|
| 1 | version | uint8 | NetInfo format version (currently 1)
| Variable | purposeMap | Map | Map of purpose IDs to address lists. Each purpose can contain up to 4 address entries:<br>• Purpose 0 (CORE_P2P): Core network P2P addresses (required)<br>• Purpose 1 (PLATFORM_P2P): Platform P2P addresses (EvoNodes only)<br>• Purpose 2 (PLATFORM_HTTPS): Platform HTTPS/API addresses (EvoNodes only)<br><br>Each address entry contains:<br>• 1 byte type: 0x01 (Service/IP+port) or 0x02 (Domain+port)<br>• Variable address data: CService or DomainPort

**Note**: The examples below show version 1 (legacy BLS) transactions. Version 3 transactions with extended addresses have a similar structure but replace the `ipAddress` and `port` fields with a `netInfo` structure, and platform-specific fields are included within the netInfo rather than as separate fields.

The following annotated hexdump shows a ProRegTx transaction referencing an existing collateral. (Parts of the classical transaction section have been omitted.)

``` text Version 1 ProRegTx (existing collateral)
Expand Down Expand Up @@ -279,19 +291,22 @@ The special transaction type used for ProUpServTx Transactions is 2 and the extr

| Bytes | Name | Data type | Description |
| ---------- | ----------- | -------- | -------- |
| 2 | version | uint_16 | ProUpServTx version number. Currently set to 1. Updated to 2 after Dash Core 19.0.0 hard fork.
| 2 | type | uint_16 | ***Added by ProUpServTx version 2 in Dash Core 19.0.0***<br>Masternode type
| 2 | version | uint_16 | ProUpServTx version number.<br>**Version 1** - Legacy BLS scheme<br>**Version 2** - Basic BLS scheme with type field (after v19 hard fork)<br>**Version 3** - Extended addresses with basic BLS scheme (after v24 hard fork activation)
| 2 | type | uint_16 | ***Version 2 and later***<br>Masternode type
| 32 | proTXHash | uint256 | The hash of the initial ProRegTx
| 16 | ipAddress | byte[] | IPv6 address in network byte order. Only IPv4 mapped addresses are allowed (to be extended in the future)
| 2 | port | uint_16 | Port (network byte order)
| 16 | ipAddress | byte[] | ***Version < 3 only***<br>IPv6 address in network byte order. Only IPv4 mapped addresses are allowed (to be extended in the future)<br>**Replaced by netInfo in version 3**
| 2 | port | uint_16 | ***Version < 3 only***<br>Port (network byte order)<br>**Replaced by netInfo in version 3**
| Variable | netInfo | NetInfo | ***Version 3 and later***<br>Network address information structure. See [NetInfo Structure](#netinfo-structure) for details.
| 1-9 | scriptOperator<br>PayoutSize | compactSize uint | Size of the Operator Payee Script.
| Variable | scriptOperator<br>Payout | Script | Operator Payee script (p2pkh/p2sh)
| 32 | inputsHash | uint256 | Hash of all the outpoints of the transaction inputs
| 0 or 20 | platformNodeID | byte[] | ***Added by ProUpServTx version 2 in Dash Core 19.0.0***<br>Dash Platform P2P node ID, derived from P2P public key. Only present for masternode type 1.
| 0 or 2 | platformP2PPort | uint_16 | ***Added by ProUpServTx version 2 in Dash Core 19.0.0***<br>TCP port of Dash Platform peer-to-peer communication between nodes (network byte order). Only present for masternode type 1.
| 0 or 2 | platformHTTPPort | uint_16 | ***Added by ProUpServTx version 2 in Dash Core 19.0.0***<br>TCP port of Platform HTTP/API interface (network byte order). Only present for masternode type 1.
| 0 or 20 | platformNodeID | byte[] | ***Version 2 only***<br>Dash Platform P2P node ID, derived from P2P public key. Only present for masternode type 1.<br>**Replaced by netInfo in version 3**
| 0 or 2 | platformP2PPort | uint_16 | ***Version 2 only***<br>TCP port of Dash Platform peer-to-peer communication between nodes (network byte order). Only present for masternode type 1.<br>**Replaced by netInfo in version 3**
| 0 or 2 | platformHTTPPort | uint_16 | ***Version 2 only***<br>TCP port of Platform HTTP/API interface (network byte order). Only present for masternode type 1.<br>**Replaced by netInfo in version 3**
| 1-9 | payloadSigSize |compactSize uint | Size of the Signature<br>**Note:** not present in BLS implementation
| 96 | payloadSig | vector | BLS Signature of the hash of the ProUpServTx fields. Signed by the Operator.<br>**Note**: serialization varies based on `version`:<br> - Version 1 - legacy BLS scheme<br> - Version 2 - basic BLS scheme
| 96 | payloadSig | vector | BLS Signature of the hash of the ProUpServTx fields. Signed by the Operator.<br>**Note**: serialization varies based on `version`:<br> - Version 1 - legacy BLS scheme<br> - Version 2+ - basic BLS scheme

**Note**: The examples below show version 1 (legacy BLS) transactions. Version 3 transactions with extended addresses have a similar structure but replace the `ipAddress` and `port` fields with a `netInfo` structure, and platform-specific fields are included within the netInfo rather than as separate fields.

The following annotated hexdump shows a ProUpServTx transaction. (Parts of the
classical transaction section have been omitted.)
Expand Down Expand Up @@ -419,10 +434,10 @@ The special transaction type is 3 and the extra payload consists of the followin

| Bytes | Name | Data type | Description |
| ---------- | ----------- | -------- | -------- |
| 2 | version | uint_16 | Provider update registrar transaction version number. Currently set to 1. Updated to 2 after Dash Core 19.0.0 hard fork.
| 2 | version | uint_16 | Provider update registrar transaction version number.<br>**Version 1** - Legacy BLS scheme<br>**Version 2** - Basic BLS scheme (after v19 hard fork)<br>**Version 3** - Basic BLS scheme (after v24 hard fork activation)
| 32 | proTXHash | uint256 | The hash of the initial ProRegTx
| 2 | mode | uint_16 | Masternode mode. Default set to 0.
| 48 | PubKeyOperator | CBLSPublicKey | The BLS public key used for operational related signing (network messages, ProTx updates).<br>**Note**: serialization varies based on `version`:<br> - Version 1 - legacy BLS scheme<br> - Version 2 - basic BLS scheme
| 48 | PubKeyOperator | CBLSPublicKey | The BLS public key used for operational related signing (network messages, ProTx updates).<br>**Note**: serialization varies based on `version`:<br> - Version 1 - legacy BLS scheme<br> - Version 2+ - basic BLS scheme
| 20 | KeyIdVoting | CKeyID | The public key hash used for voting.
| 1-9 | scriptPayoutSize | compactSize uint | Size of the Payee Script.
| Variable | scriptPayout | Script | Payee script (p2pkh/p2sh)
Expand Down Expand Up @@ -564,12 +579,12 @@ The special transaction type used for ProUpServTx Transactions is 4 and the extr

| Bytes | Name | Data type | Description |
| ---------- | ----------- | -------- | -------- |
| 2 | version | uint_16 | ProUpRevTx version number. Currently set to 1. Updated to 2 after Dash Core 19.0.0 hard fork.
| 2 | version | uint_16 | ProUpRevTx version number.<br>**Version 1** - Legacy BLS scheme<br>**Version 2** - Basic BLS scheme (after v19 hard fork)<br>**Version 3** - Basic BLS scheme (after v24 hard fork activation)<br>**Note**: The `protx revoke` RPC automatically uses the appropriate version based on the masternode's BLS scheme.
| 32 | proTXHash | uint256 | The hash of the initial ProRegTx
| 2 | reason | uint_16 | The reason for revoking the key.<br>`0` - Not specified<br>`1` - Termination of Service<br>`2` - Compromised Key<br>`3` - Change of key
| 32 | inputsHash | uint256 | Hash of all the outpoints of the transaction inputs
| 1-9 | payloadSigSize |compactSize uint | Size of the Signature<br>**Note:** not present in BLS implementation
| 96 | payloadSig | vector | BLS Signature of the hash of the ProUpServTx fields. Signed by the Operator.<br>**Note**: serialization varies based on `version`:<br> - Version 1 - legacy BLS scheme<br> - Version 2 - basic BLS scheme
| 96 | payloadSig | vector | BLS Signature of the hash of the ProUpRevTx fields. Signed by the Operator.<br>**Note**: serialization varies based on `version`:<br> - Version 1 - legacy BLS scheme<br> - Version 2+ - basic BLS scheme

The following annotated hexdump shows a ProUpRevTx transaction. (Parts of the classical transaction section have been omitted.)

Expand Down
2 changes: 1 addition & 1 deletion docs/user/masternodes/maintenance.rst
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ Where:
- ``operatorKey``: The operator BLS private key associated with the
registered operator public key
- ``platformNodeId``: The Platform node ID derived from Platform P2P public key.
- ``platformP2PAddrs``: Array of addresses in the form "ADDR:PORT" used by Platform for peer-to-peer connection (must include 26656 for mainnet). Must be unique on the network..
- ``platformP2PAddrs``: Array of addresses in the form "ADDR:PORT" used by Platform for peer-to-peer connection (must include 26656 for mainnet). Must be unique on the network.
- ``platformHTTPSAddrs``: Array of addresses in the form "ADDR:PORT" used by Platform for their HTTPS API (must include 443 for mainnet). Must be unique on the network.
- ``operatorPayoutAddress`` (optional): The address used for operator
reward payments. Only allowed when the ProRegTx had a non-zero
Expand Down