公開日: 2026年6月2日
自作ツール「XRPL Explorer Mini」の実装解説
価格取得と残高照会を支えるフロントエンド技術の裏側
当サイトで公開中の「XRPL Explorer Mini」では、ブラウザから直接 XRPL ネットワークへ接続する仕組みを採用しています。
このツールを構築する上で核となる「価格データの取得」と「XRPL ノードからの残高抽出」について、どのようなロジックで動いているのかを整理しました。
セキュリティの観点から、ユーザーのアドレス情報は当サイトのサーバーへ送信されません。ブラウザからXRPL公開ノードへ直接問い合わせています。
「ブラウザ ⇔ XRPL公開ノード」の直接通信のみで完結させることで、安全性を最大化しています。
1. 市場価格の取得(CoinGecko API)
XRP の日本円(JPY)および米ドル(USD)価格をリアルタイムに表示するため、CoinGecko API を活用しています。
・
ids=ripple を指定して XRP
の価格データをリクエスト・
fetch API
を用いた非同期処理によるデータ取得・
setInterval を利用した 5 分ごとの自動更新
const response = await fetch(
"https://api.coingecko.com/api/v3/simple/price?ids=ripple&vs_currencies=jpy,usd"
);
const data = await response.json();
2. リアルタイム残高照会(xrpl.js)
アカウントの残高取得には、XRPL 公式ライブラリ
xrpl.js を使用しています。
| 機能・コマンド | 役割 | 備考 |
|---|---|---|
xrpl.Client |
公開ノードへの接続管理 | wss://xrplcluster.com を使用 |
account_info |
アカウント情報の取得 | 残高やシーケンス番号が含まれる |
dropsToXrp |
単位変換処理 | 最小単位 drops を XRP に変換 |
アカウントが未作成、またはアクティベートされていない場合、
actNotFound
エラーを捕捉し、ユーザーへ「アカウント未有効化」のメッセージを適切に表示するよう制御しています。
3. 安全な利用のための入力値クリーニング
ユーザーが入力したアドレスに含まれる余計な空白や全角文字を排除するため、入力値の正規化と不要文字の除去を行っています。
let targetAddr = inputField.value
.normalize("NFKC") // 全角文字を半角に変換
.replace(/[^\x21-\x7E]/g, "") // 非表示文字などを削除
.trim();
正規化(NFKC)を行うことで、全角で入力された「r」などのアドレス文字も正しく半角の「r」として処理され、ユーザーの利便性を高めています。
実際の動作はこちらで確認できます👇
→ XRPL Explorer Mini を開くこの記事の著者:ちくわ
20年間のSE経験を活かし、XRPL関連技術の調査やツール開発を行っています。 単なる「使い方」だけでなく、その裏側にある技術的ロジックを言語化することで、XRPネットワークの透明性と信頼性を伝える活動をしています。