https://nodezen.mimoex.net/

背景

自宅サーバでBitcoinフルノードを動かしているのですが、ノードの状態を外部からシンプルに確認できるUIが欲しいとずっと思っていました。 既存の btc-rpc-explorer も導入して使っていました。非常に便利ですが、機能が多くて「自分が見たい情報だけ欲しい」派には少しオーバースペック。 そこで、ミニマルなノードステータスビューアを自作することにしました。

名前は「NodeZen」。
余計な情報を削ぎ落とし、ブロック高やピア数など必要最低限だけを表示するダッシュボードです。

リポジトリ: https://github.com/mimoex/Zen-btc-dashboard

開発

実装には以下を使いました:

  • Flask: Python製の軽量Webフレームワーク
  • Chart.js: グラフ描画ライブラリ
  • vnStat: ネットワークトラフィック計測
  • psutil: システムリソース取得

表示している情報

  • ノードの基本情報(バージョン、プロトコル、ブロック数、Uptime)
  • ピア数(inbound / outbound)
  • vnstatによるネットワーク統計(時間別・日別)
  • ディスク使用量(Bitcoinデータディレクトリ)

UIはChart.jsでモダンにしました。

JAISTのFTPサーバのようなグラフも好きなのですが、やっぱりモダンなモノも好きでして、、

今後の展望

とりあえずデプロイまでできたので、次は以下を考えています:

  • Peerの国別分布をGeoIPで可視化
  • Docker化