Skip to content

Fix the [peer_private] verification step for validators - #3821

Open
pete-csyn wants to merge 1 commit into
XRPLF:masterfrom
pete-csyn:docs/validator-peer-private-verification
Open

Fix the [peer_private] verification step for validators#3821
pete-csyn wants to merge 1 commit into
XRPLF:masterfrom
pete-csyn:docs/validator-peer-private-verification

Conversation

@pete-csyn

Copy link
Copy Markdown

Step 6 of "Connect using proxies" says to check the Peer Crawler, and that an
absent validator "verifies that your validator's [peer_private] configuration is
working."

That check returns the same result either way, so it can't confirm the setting.
The peer-crawler reference on this site already explains why — ip and port are:

Omitted if the peer is configured as a validator or a private peer

Validator status alone suppresses the address, so the crawler output is identical
whether [peer_private] is 1, 0, or absent.

This swaps in the check the sibling page already uses
(peering/configure-a-private-server.md, step 6): the peers method, confirming
no inbound connections and no address outside [ips_fixed] — which is what
[peer_private] actually changes for a validator. The crawler behaviour stays as
a note so it isn't surprising, and peers method is added to See Also.

Happy to adjust the wording if you'd rather keep the crawler step and just
re-scope what it claims to prove.

Step 6 of "Connect using proxies" tells the operator to check the Peer Crawler
and says an absent validator "verifies that your validator's [peer_private]
configuration is working". That check cannot distinguish a working configuration
from a broken one.

The peer-crawler reference on this site already documents why: a server's ip and
port are "Omitted if the peer is configured as a validator or a private peer".
Validator status alone suppresses the address, so the crawler result is identical
whether [peer_private] is 1, 0, or absent.

Replaces it with the check the sibling page
(peering/configure-a-private-server.md step 6) already uses -- the peers method,
confirming no inbound connections and no address outside [ips_fixed] -- which is
what [peer_private] 1 uniquely produces. Keeps the crawler behaviour as a note so
operators are not surprised by it, and adds the peers method to See Also.

@mDuo13 mDuo13 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I wonder if the behavior of the Peer Crawler changed after this was written or if this was always the case. In any case, I left a minor formatting suggestion but this PR otherwise looks good. 👍 I'll approve after it's applied.

6. Use the [Peer Crawler](../../../references/http-websocket-apis/peer-port-methods/peer-crawler.md) endpoint on one of your stock `xrpld` servers. The response should not include your validator. This verifies that your validator's `[peer_private]` configuration is working. One of the effects of enabling `[peer_private]` on your validator is that your validator's peers do not include it in their Peer Crawler results.
6. Use the [peers method][] on your validator to confirm that `[peer_private]` is working. The `peers` array should contain _only_ the stock `xrpld` servers you configured: no inbound connections, and no `address` outside the `[ips_fixed]` stanza. If other peers appear, double-check your config file and restart the validator.

{% admonition type="info" name="Note" %}The [Peer Crawler](../../../references/http-websocket-apis/peer-port-methods/peer-crawler.md) does not confirm this setting. A server's `ip` and `port` are omitted from crawler results if it is configured **as a validator _or_ as a private peer**, so your validator's address is suppressed whether or not `[peer_private]` is set.{% /admonition %}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks fine, though we discovered a little bit ago that making the admonition all one line causes a minor error in our docs toolchain.

Suggested change
{% admonition type="info" name="Note" %}The [Peer Crawler](../../../references/http-websocket-apis/peer-port-methods/peer-crawler.md) does not confirm this setting. A server's `ip` and `port` are omitted from crawler results if it is configured **as a validator _or_ as a private peer**, so your validator's address is suppressed whether or not `[peer_private]` is set.{% /admonition %}
{% admonition type="info" name="Note" %}
The [Peer Crawler](../../../references/http-websocket-apis/peer-port-methods/peer-crawler.md) does not confirm this setting. A server's `ip` and `port` are omitted from crawler results if it is configured **as a validator _or_ as a private peer**, so your validator's address is suppressed whether or not `[peer_private]` is set.
{% /admonition %}

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.

2 participants