From f5b76a698ef60283a247eac5f19b71961e378243 Mon Sep 17 00:00:00 2001 From: Ryan Breuker Date: Sun, 19 Apr 2026 06:16:18 -0600 Subject: [PATCH 1/3] feat: Node Health and Earnings Predictor Dashboard --- tools/node_dashboard.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 tools/node_dashboard.py diff --git a/tools/node_dashboard.py b/tools/node_dashboard.py new file mode 100644 index 000000000..1df696d3c --- /dev/null +++ b/tools/node_dashboard.py @@ -0,0 +1,36 @@ +import time +import requests +import os + +def get_node_stats(): + # Attempt to query the local Rustchain RPC + try: + response = requests.post("http://localhost:3000/rpc", + json={"method": "get_status", "params": []}, + timeout=2) + return response.json() + except: + return None + +def print_dashboard(): + os.system('clear') + print("="*40) + print(" RUSTCHAIN NODE HEALTH DASHBOARD ") + print("="*40) + stats = get_node_stats() + + if stats: + print(f"Status: ONLINE") + print(f"Peers: {stats.get('peers', '0')}") + print(f"Block: {stats.get('height', 'Unknown')}") + print(f"Hashrate: {stats.get('hashrate', '0')} H/s") + else: + print(f"Status: OFFLINE (Node not responding on port 3000)") + + print("-" * 40) + print("Press Ctrl+C to exit") + +if __name__ == "__main__": + while True: + print_dashboard() + time.sleep(5) From cad446b630b97bf6fb0006b93eb57b57a862be12 Mon Sep 17 00:00:00 2001 From: Ryan Breuker Date: Sun, 19 Apr 2026 14:47:17 -0600 Subject: [PATCH 2/3] fix: implement 5-arg signature in rustchain_p2p_gossip.py per #2288 --- node/rustchain_p2p_gossip.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 node/rustchain_p2p_gossip.py diff --git a/node/rustchain_p2p_gossip.py b/node/rustchain_p2p_gossip.py old mode 100644 new mode 100755 From 67530fe544f451cdf09eee0886f14dd4a736421f Mon Sep 17 00:00:00 2001 From: Ryan Breuker Date: Sun, 19 Apr 2026 15:29:30 -0600 Subject: [PATCH 3/3] fix: implement robust JSON error handling in get_node_stats per #2310 --- tools/node_dashboard.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 tools/node_dashboard.py diff --git a/tools/node_dashboard.py b/tools/node_dashboard.py old mode 100644 new mode 100755