Skip to content

Conversation

@kwvg
Copy link
Collaborator

@kwvg kwvg commented May 1, 2025

Motivation

As preparation for introduction of the extended addresses specification to DIP-0003, this pull request does the following:

  • Deduplicate references to ipAddress and port (used to define the publicly advertised address of a masternode) to an appendix as they're present in both ProTx and SML structures and replacing it with a reference to an opaque field networkInfo.

  • Deduplicate references to platform{P2P,HTTP}Port (used to define the port used in combination with ipAddress mentioned earlier to define publicly advertised addresses of a platform services) to the same appendix as they're present in ProTx structures and referenced in DIP-0028 and replacing it with a reference to an opaque field platformNetInfo.

    • Note, this change has not been made in the DIP-0004 document as the SML structure only stores platformHTTPPort

Additional Information

Copy link
Collaborator

@thephez thephez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Just a couple suggestions/questions to consider.

@kwvg kwvg requested a review from thephez May 1, 2025 20:45
Copy link
Collaborator

@thephez thephez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Just waiting on #163 to be approved to handle those hpmn references.

@thephez
Copy link
Collaborator

thephez commented May 5, 2025

#163 is merged now. I like the SML table consolidation btw. Simplifies the reading experience 👍

kwvg added 2 commits May 6, 2025 17:44
Type 0 masternodes are referred to as "default" and "regular" in
different documents, let's harmonize them.
@kwvg kwvg requested review from PastaPastaPasta, UdjinM6 and knst May 6, 2025 17:46
@kwvg kwvg requested a review from PastaPastaPasta May 6, 2025 17:57
PastaPastaPasta
PastaPastaPasta previously approved these changes May 6, 2025
Copy link
Member

@PastaPastaPasta PastaPastaPasta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

UdjinM6
UdjinM6 previously approved these changes May 6, 2025
@kwvg kwvg dismissed stale reviews from UdjinM6 and PastaPastaPasta via 940083d May 7, 2025 15:26
UdjinM6
UdjinM6 previously approved these changes May 7, 2025
thephez
thephez previously approved these changes May 7, 2025
Copy link
Collaborator

@thephez thephez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@kwvg kwvg dismissed stale reviews from thephez and UdjinM6 via 735f4c4 May 13, 2025 11:59
@kwvg kwvg requested review from UdjinM6, knst and thephez May 13, 2025 12:05
Comment on lines +99 to +110
| Field | Type | Size | Description | Presence condition |
| ---------------- | --------- | -------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
| nVersion | uint16_t | 2 | Version of the SML entry | `PROTOCOL_VERSION` >= `70228` |
| proRegTxHash | uint256 | 32 | The hash of the ProRegTx that identifies the masternode | _Always present_ |
| confirmedHash | uint256 | 32 | The hash of the block at which the masternode got confirmed | _Always present_ |
| networkInfo | byte[] | variable | Masternode addresses (see [appendix](dip-0003.md#appendix-c-network-information)) | _Always present_ |
| pubKeyOperator | BLSPubKey | 48 | The operators public key | _Always present_ |
| keyIDVoting | CKeyID | 20 | The public key hash used for voting. | _Always present_ |
| isValid | bool | 1 | True if a masternode is not PoSe-banned | _Always present_ |
| type | uint_16 | 0 or 2 | Masternode type. 0 for regular masternode, 1 for evonode. | `PROTOCOL_VERSION` >= `70227` and `nVersion` == 2 |
| platformHTTPPort | uint_16 | 0 or 2 | TCP port of Platform HTTP/API interface (network byte order). Only present for masternode type 1. | `PROTOCOL_VERSION` >= `70227` and `nVersion` == 2 |
| platformNodeID | byte[] | 0 or 20 | Dash Platform P2P node ID, derived from P2P public key. Only present for masternode type 1. | `PROTOCOL_VERSION` >= `70227` and `nVersion` == 2 |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: I really dislike the extraneous space that ai adds to markdown tables

@thephez
Copy link
Collaborator

thephez commented May 20, 2025

@UdjinM6 @knst what do you think?

@thephez thephez merged commit 0dbbf0c into dashpay:master May 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants