Improve ElectrumX discovery consistency and reachability checks
Unify dashboard and servers page data source to keep active server counts synchronized. Remove hardcoded port fallbacks and derive TCP/SSL ports from advertised services. Harden TCP/SSL probing (self-signed SSL support, better timeouts, peer-port-aware checks). Simplify Discovery Summary UI to show only total active servers.
This commit is contained in:
@@ -217,10 +217,10 @@ async function updateElectrumXStats() {
|
||||
document.getElementById('serverIP').textContent = data.stats.server_ip || '--';
|
||||
|
||||
// TCP Port
|
||||
document.getElementById('tcpPort').textContent = data.stats.tcp_port || 50001;
|
||||
document.getElementById('tcpPort').textContent = data.stats.tcp_port || '--';
|
||||
|
||||
// SSL Port
|
||||
document.getElementById('sslPort').textContent = data.stats.ssl_port || 50002;
|
||||
document.getElementById('sslPort').textContent = data.stats.ssl_port || '--';
|
||||
|
||||
// Active servers from peer discovery
|
||||
const activeServers = Array.isArray(data.stats.active_servers) ? data.stats.active_servers : [];
|
||||
|
||||
@@ -20,9 +20,8 @@ async function updateElectrumServers() {
|
||||
tbody.innerHTML = '';
|
||||
|
||||
if (servers.length === 0) {
|
||||
tbody.innerHTML = '<tr><td colspan="3" class="loading">No active servers found</td></tr>';
|
||||
tbody.innerHTML = '<tr><td colspan="5" class="loading">No active servers found</td></tr>';
|
||||
document.getElementById('totalServers').textContent = '0';
|
||||
document.getElementById('tcpReachable').textContent = '0';
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -32,17 +31,17 @@ async function updateElectrumServers() {
|
||||
<td class="peer-addr">${server.host || '--'}</td>
|
||||
<td>${server.tcp_port || '--'}</td>
|
||||
<td>${server.ssl_port || '--'}</td>
|
||||
<td>${server.tcp_reachable === true ? 'Yes' : 'No'}</td>
|
||||
<td>${server.ssl_reachable === true ? 'Yes' : 'No'}</td>
|
||||
`;
|
||||
tbody.appendChild(row);
|
||||
});
|
||||
|
||||
document.getElementById('totalServers').textContent = String(servers.length);
|
||||
const tcpCount = servers.filter(s => !!s.tcp_port).length;
|
||||
document.getElementById('tcpReachable').textContent = String(tcpCount);
|
||||
} catch (error) {
|
||||
console.error('Error fetching Electrum servers:', error);
|
||||
document.getElementById('electrumServersTable').innerHTML =
|
||||
'<tr><td colspan="3" class="loading">Error loading servers</td></tr>';
|
||||
'<tr><td colspan="5" class="loading">Error loading servers</td></tr>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user