From 5712c07b4dcfe063533dd2b282d7f4d9aac43458 Mon Sep 17 00:00:00 2001 From: Nathan Woodburn Date: Wed, 5 Feb 2025 18:37:13 +1100 Subject: [PATCH] feat: Add mempool info --- hsd.py | 9 ++++++++- server.py | 28 +++++++++++++++++++++++++++- templates/index.html | 35 ++++++++++++++++++++++------------- 3 files changed, 57 insertions(+), 15 deletions(-) diff --git a/hsd.py b/hsd.py index 098f59e..31cb786 100644 --- a/hsd.py +++ b/hsd.py @@ -40,4 +40,11 @@ def get_name_resource(name): def get_address(address): - return requests.get(f"{HSD_URL}/tx/address/{address}").json() \ No newline at end of file + return requests.get(f"{HSD_URL}/tx/address/{address}").json() + + +def get_mempool(): + return requests.get(f"{HSD_URL}/mempool").json() + +def get_mempool_info(): + return requests.post(HSD_URL, json={"method": "getmempoolinfo"}).json() \ No newline at end of file diff --git a/server.py b/server.py index aa8868b..5b7753b 100644 --- a/server.py +++ b/server.py @@ -75,7 +75,18 @@ def wellknown(path): # region Main routes @app.route("/") def index(): - return render_template("index.html") + txs = hsd.get_mempool() + + mempool_info = hsd.get_mempool_info() + if mempool_info['result']: + mempool_info = mempool_info['result'] + + mempool = f"Total Transactions: {len(txs)}

" + for txid in txs: + tx = hsd.get_tx(txid) + mempool += f"{txid}: {len(tx['inputs'])} inputs, {len(tx['outputs'])} outputs, fee: {tx['fee']/1000000}, Total Value: {sum([output['value']/1000000 for output in tx['outputs']]):,.2f} HNS

" + + return render_template("index.html",mempool=mempool) @app.route("/name") def name(): @@ -178,6 +189,21 @@ def api_address(address): else: return jsonify({"error": "address not found"}), 404 +@app.route("/api/v1/mempool") +def api_mempool(): + mempool = hsd.get_mempool() + if mempool: + return jsonify(mempool) + else: + return jsonify({"error": "mempool not found"}), 404 + +@app.route("/api/v1/mempool/info") +def api_mempool_info(): + mempool_info = hsd.get_mempool_info() + if mempool_info: + return jsonify(mempool_info) + else: + return jsonify({"error": "mempool info not found"}), 404 # endregion diff --git a/templates/index.html b/templates/index.html index 5563ae7..9389c88 100644 --- a/templates/index.html +++ b/templates/index.html @@ -13,19 +13,28 @@

Nathan.Woodburn/ EXPLORER ALPHA

- -
- - -
-
- - -
-
- - -
+ +

MEMPOOL

+
+ {{ mempool |safe}} +
+ + +

Search

+
+
+ + +
+
+ + +
+
+ + +
+