import json import account import requests import os # Plugin Data info = { "name": "Public Node Dashboard", "description": "Dashboard modules for public nodes", "version": "1.0", "author": "Nathan.Woodburn/" } # Functions functions = { "main":{ "name": "Info Dashboard widget", "type": "dashboard", "description": "This creates the widget that shows on the dashboard", "params": {}, "returns": { "status": { "name": "Status of Node", "type": "text" } } }, "enable": { "name": "Enable Dashboard widget", "type": "default", "description": "Enable the dashboard widget", "params": {}, "returns": { "result": { "name": "Result", "type": "text" } } }, "disable": { "name": "Disable Dashboard widget", "type": "default", "description": "Disable the dashboard widget", "params": {}, "returns": { "result": { "name": "Result", "type": "text" } } } } if not os.path.exists("user_data/public_info.json"): with open("user_data/public_info.json", "w") as f: json.dump({"enabled": False}, f) def main(params, authentication): with open("user_data/public_info.json", "r") as f: multiwallet = json.load(f) if not multiwallet['enabled']: return {"status": None} info = account.hsd.getInfo() status = f"Version: {info['version']}
Inbound Connections: {info['pool']['inbound']}
Outbound Connections: {info['pool']['outbound']}
" if info['pool']['public']['listen']: status += f"Public Node: Yes
Host: {info['pool']['public']['host']}
Port: {info['pool']['public']['port']}
" else: status += f"Public Node: No
" status += f"Agent: {info['pool']['agent']}
Services: {info['pool']['services']}
" return {"status": status} def enable(params, authentication): with open("user_data/public_info.json", "r") as f: multiwallet = json.load(f) multiwallet['enabled'] = True with open("user_data/public_info.json", "w") as f: json.dump(multiwallet, f) return {"result": "Success"} def disable(params, authentication): with open("user_data/public_info.json", "r") as f: multiwallet = json.load(f) multiwallet['enabled'] = False with open("user_data/public_info.json", "w") as f: json.dump(multiwallet, f) return {"result": "Success"}