Merge bitcoin-core/gui#206: Display fRelayTxes and bip152_highbandwidth_{to, from} in peer details

142807af8b gui: display BIP152 high bandwidth relay in peer details (Jon Atack)
9476886353 gui: display fRelayTxes in peer details (Jon Atack)

Pull request description:

  This pull adds two fields to the peer details, "Wants Tx Relay" (fRelayTxes) and "High Bandwidth" (bip152_highbandwidth to/from). See the added tooltips for more info.

ACKs for top commit:
  MarcoFalke:
    review ACK 142807af8b
  jarolrod:
    ACK 142807af8b

Tree-SHA512: 956c7fa54c9c2ea76ee879d370711be0bed4af05484a17d35a1dd77713ed34ff441ed3957d0ef3a7ca7cf59a2f5d898be49b12af609a16b3e3cbfc4a1ba8f54e
This commit is contained in:
MarcoFalke 2021-02-22 08:19:06 +01:00
commit 08eec6907a
No known key found for this signature in database
GPG key ID: D2EA4850E7528B25
2 changed files with 108 additions and 45 deletions

View file

@ -1198,14 +1198,17 @@
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_29">
<widget class="QLabel" name="peerRelayTxesLabel">
<property name="toolTip">
<string>Whether the peer requested us to relay transactions.</string>
</property>
<property name="text">
<string>Starting Block</string>
<string>Wants Tx Relay</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLabel" name="peerHeight">
<widget class="QLabel" name="peerRelayTxes">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
@ -1221,14 +1224,17 @@
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_27">
<widget class="QLabel" name="peerHighBandwidthLabel">
<property name="toolTip">
<string>High bandwidth BIP152 compact block relay: %1</string>
</property>
<property name="text">
<string>Synced Headers</string>
<string>High Bandwidth</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLabel" name="peerSyncHeight">
<widget class="QLabel" name="peerHighBandwidth">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
@ -1244,14 +1250,14 @@
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_25">
<widget class="QLabel" name="label_29">
<property name="text">
<string>Synced Blocks</string>
<string>Starting Block</string>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QLabel" name="peerCommonHeight">
<widget class="QLabel" name="peerHeight">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
@ -1267,14 +1273,14 @@
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_22">
<widget class="QLabel" name="label_27">
<property name="text">
<string>Connection Time</string>
<string>Synced Headers</string>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QLabel" name="peerConnTime">
<widget class="QLabel" name="peerSyncHeight">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
@ -1290,14 +1296,14 @@
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="label_15">
<widget class="QLabel" name="label_25">
<property name="text">
<string>Last Send</string>
<string>Synced Blocks</string>
</property>
</widget>
</item>
<item row="10" column="1">
<widget class="QLabel" name="peerLastSend">
<widget class="QLabel" name="peerCommonHeight">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
@ -1313,14 +1319,14 @@
</widget>
</item>
<item row="11" column="0">
<widget class="QLabel" name="label_19">
<widget class="QLabel" name="label_22">
<property name="text">
<string>Last Receive</string>
<string>Connection Time</string>
</property>
</widget>
</item>
<item row="11" column="1">
<widget class="QLabel" name="peerLastRecv">
<widget class="QLabel" name="peerConnTime">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
@ -1336,14 +1342,14 @@
</widget>
</item>
<item row="12" column="0">
<widget class="QLabel" name="label_18">
<widget class="QLabel" name="label_15">
<property name="text">
<string>Sent</string>
<string>Last Send</string>
</property>
</widget>
</item>
<item row="12" column="1">
<widget class="QLabel" name="peerBytesSent">
<widget class="QLabel" name="peerLastSend">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
@ -1359,14 +1365,14 @@
</widget>
</item>
<item row="13" column="0">
<widget class="QLabel" name="label_20">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Received</string>
<string>Last Receive</string>
</property>
</widget>
</item>
<item row="13" column="1">
<widget class="QLabel" name="peerBytesRecv">
<widget class="QLabel" name="peerLastRecv">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
@ -1382,14 +1388,14 @@
</widget>
</item>
<item row="14" column="0">
<widget class="QLabel" name="label_26">
<widget class="QLabel" name="label_18">
<property name="text">
<string>Ping Time</string>
<string>Sent</string>
</property>
</widget>
</item>
<item row="14" column="1">
<widget class="QLabel" name="peerPingTime">
<widget class="QLabel" name="peerBytesSent">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
@ -1405,17 +1411,14 @@
</widget>
</item>
<item row="15" column="0">
<widget class="QLabel" name="peerPingWaitLabel">
<property name="toolTip">
<string>The duration of a currently outstanding ping.</string>
</property>
<widget class="QLabel" name="label_20">
<property name="text">
<string>Ping Wait</string>
<string>Received</string>
</property>
</widget>
</item>
<item row="15" column="1">
<widget class="QLabel" name="peerPingWait">
<widget class="QLabel" name="peerBytesRecv">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
@ -1431,14 +1434,14 @@
</widget>
</item>
<item row="16" column="0">
<widget class="QLabel" name="peerMinPingLabel">
<widget class="QLabel" name="label_26">
<property name="text">
<string>Min Ping</string>
<string>Ping Time</string>
</property>
</widget>
</item>
<item row="16" column="1">
<widget class="QLabel" name="peerMinPing">
<widget class="QLabel" name="peerPingTime">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
@ -1454,14 +1457,17 @@
</widget>
</item>
<item row="17" column="0">
<widget class="QLabel" name="label_timeoffset">
<widget class="QLabel" name="peerPingWaitLabel">
<property name="toolTip">
<string>The duration of a currently outstanding ping.</string>
</property>
<property name="text">
<string>Time Offset</string>
<string>Ping Wait</string>
</property>
</widget>
</item>
<item row="17" column="1">
<widget class="QLabel" name="timeoffset">
<widget class="QLabel" name="peerPingWait">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
@ -1477,17 +1483,14 @@
</widget>
</item>
<item row="18" column="0">
<widget class="QLabel" name="peerMappedASLabel">
<property name="toolTip">
<string>The mapped Autonomous System used for diversifying peer selection.</string>
</property>
<widget class="QLabel" name="peerMinPingLabel">
<property name="text">
<string>Mapped AS</string>
<string>Min Ping</string>
</property>
</widget>
</item>
<item row="18" column="1">
<widget class="QLabel" name="peerMappedAS">
<widget class="QLabel" name="peerMinPing">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
@ -1503,6 +1506,55 @@
</widget>
</item>
<item row="19" column="0">
<widget class="QLabel" name="label_timeoffset">
<property name="text">
<string>Time Offset</string>
</property>
</widget>
</item>
<item row="19" column="1">
<widget class="QLabel" name="timeoffset">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
<property name="text">
<string>N/A</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="20" column="0">
<widget class="QLabel" name="peerMappedASLabel">
<property name="toolTip">
<string>The mapped Autonomous System used for diversifying peer selection.</string>
</property>
<property name="text">
<string>Mapped AS</string>
</property>
</widget>
</item>
<item row="20" column="1">
<widget class="QLabel" name="peerMappedAS">
<property name="cursor">
<cursorShape>IBeamCursor</cursorShape>
</property>
<property name="text">
<string>N/A</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="21" column="0">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>

View file

@ -473,6 +473,11 @@ RPCConsole::RPCConsole(interfaces::Node& node, const PlatformStyle *_platformSty
tr("Outbound Address Fetch: short-lived, for soliciting addresses")};
const QString list{"<ul><li>" + Join(CONNECTION_TYPE_DOC, QString("</li><li>")) + "</li></ul>"};
ui->peerConnectionTypeLabel->setToolTip(ui->peerConnectionTypeLabel->toolTip().arg(list));
const QString hb_list{"<ul><li>\""
+ tr("To") + "\" " + tr("we selected the peer for high bandwidth relay") + "</li><li>\""
+ tr("From") + "\" " + tr("the peer selected us for high bandwidth relay") + "</li><li>\""
+ tr("No") + "\" " + tr("no high bandwidth relay selected") + "</li></ul>"};
ui->peerHighBandwidthLabel->setToolTip(ui->peerHighBandwidthLabel->toolTip().arg(hb_list));
ui->dataDir->setToolTip(ui->dataDir->toolTip().arg(QString(nonbreaking_hyphen) + "datadir"));
ui->blocksDir->setToolTip(ui->blocksDir->toolTip().arg(QString(nonbreaking_hyphen) + "blocksdir"));
ui->openDebugLogfileButton->setToolTip(ui->openDebugLogfileButton->toolTip().arg(PACKAGE_NAME));
@ -1109,6 +1114,12 @@ void RPCConsole::updateDetailWidget()
peerAddrDetails += "<br />" + tr("via %1").arg(QString::fromStdString(stats->nodeStats.addrLocal));
ui->peerHeading->setText(peerAddrDetails);
ui->peerServices->setText(GUIUtil::formatServicesStr(stats->nodeStats.nServices));
ui->peerRelayTxes->setText(stats->nodeStats.fRelayTxes ? "Yes" : "No");
QString bip152_hb_settings;
if (stats->nodeStats.m_bip152_highbandwidth_to) bip152_hb_settings += "To";
if (stats->nodeStats.m_bip152_highbandwidth_from) bip152_hb_settings += (bip152_hb_settings == "" ? "From" : "/From");
if (bip152_hb_settings == "") bip152_hb_settings = "No";
ui->peerHighBandwidth->setText(bip152_hb_settings);
ui->peerLastSend->setText(stats->nodeStats.nLastSend ? GUIUtil::formatDurationStr(GetSystemTimeInSeconds() - stats->nodeStats.nLastSend) : tr("never"));
ui->peerLastRecv->setText(stats->nodeStats.nLastRecv ? GUIUtil::formatDurationStr(GetSystemTimeInSeconds() - stats->nodeStats.nLastRecv) : tr("never"));
ui->peerBytesSent->setText(GUIUtil::formatBytes(stats->nodeStats.nSendBytes));