cryptofoundry

cryptofoundry へのお問い合わせ

構築または自動化したい内容をお聞かせください。

Ecosystem & Integrations

ADAMANT Explorer v2.0.0:Vue 3への移行、API境界の強化、およびレジリエントなライブモニタリング

ADAMANT Explorer v2.0.0はv1.3.0以来の初の安定版リリースです。218件のコミットと491ファイルの変更を統合し、既存のパブリックルートとディープリンクの互換性を維持しつつ、フロントエンド、バックエンド、ライブモニタリング、セキュリティ、運用面でのメジャーアップデートを実現しました。

フロントエンドアーキテクチャ

従来のAngularJS、Bootstrap 3、Webpackによるアプリケーションは、Vue 3の単一ファイルコンポーネント、共有ネットワーク状態管理のためのPinia、URL互換性を備えたVue Router 5、およびビルドツールVite 8へと刷新されました。フレームワークに依存しないユーティリティは src/lib/ に配置され、Node.js環境で直接テスト可能です。

主要なビュー(ホーム、ブロック、トランザクション、アドレス、デリゲート、トップアカウント、予約ウォレット、デリゲートモニター、ネットワークモニター、アクティビティグラフ)はすべて再構築されました。UIには、永続的なライト/ダークテーマ、レスポンシブなテーブルとトランザクションカード、アクセシビリティに配慮したコントロール、決定論的なトランザクション順序付け、および台帳の精度が求められる場面でのADMのフル精度表示が導入されています。

ADAMANTノードとAPI境界

すべてのADAMANTノードとの通信は、専用のリクエストアダプター層である adamant-api 3.1.0を介して行われるようになりました。バックエンドには、起動準備完了のゲート制御、ノードのフェイルオーバー、SDKエラーの正規化、ページネーションの制限、厳格なルート/クエリ検証、およびリクエスト・正規化・レスポンス組み立ての各層が分離して実装されています。

Explorerは、UIに必要な12の同一オリジンルートと GET /api/networkHealth のみを公開します。サポート外となっていた16のレガシーエンドポイント、任意のトランザクションフィルターのパススルー、ワイルドカードCORS、および廃止されたMarket Watcherルートは削除されました。この縮小されたインターフェースはExplorer UIのための実装境界であり、汎用的なパブリックAPIではありません。外部アプリケーションは adamant-api-jsclient を使用してください。運用監視には live、degraded、critical、unavailable の状態を報告する GET /api/networkHealth を利用可能です。

ライブモニタリングとキャッシュの一貫性

Header、Delegate Monitor、Network Monitor、Activity Graphの4つのパブリックSocket.IO名前空間は、シリアル化されたポーリング、ライフサイクル世代管理、制限付きリトライ、および古いコールバック保護を使用するように変更されました。HomeおよびBlocksビューでは、固定の更新間隔に代わり、ブロック駆動型の更新が採用されています。RESTによるハイドレーションと制限付きの確認通知が、WebSocketのブロック通知を補完します。デリゲートスケジュール、フォージング状態、報酬、手数料、およびラウンド境界の計算は安定化し、一貫性のあるローリングブロックとピア統計、およびオプションのRedis永続化がサポートされました。キャッシュの識別機能は、新しいブロックや同一高さでのフォークによる置き換えを正しく処理します。

GeoJSによるピアの地理位置情報は、キャッシュされた正規化とホスト名のみへの劣化処理によって制限されています。検証済みかつキャッシュされ、タイムアウト制限とIPごとのレート制限を備えたOpenStreetMapタイルプロキシが、クリアネットとTorの両方のデプロイメントをサポートします。レスポンスキャッシュと統計の永続化には引き続きRedisが推奨されますが、Redisの障害がコアとなるHTTPサービスや静的ファイルの配信を停止させることはありません。

セキュリティとプライバシーの強化

パブリックリクエストおよびブラウザの境界には、キャッシュやADAMANTの準備完了チェック前の厳密なAPIインターフェースの強制、アドレス・uint64識別子・ページネーション・ルート・メソッド・フィルターの厳格な検証、およびプロキシを認識するクライアント識別とフェイルクローズ型のオーバーフローバケットを備えたプロセス内固定ウィンドウAPIリミッターが導入されました。セキュリティヘッダー、制約付きのContent Security Policy、安定したパブリックエラー、明示的なHTTPタイムアウト、およびクエリ文字列を最小化したアクセスログが適用されています。ノードやピアから取得したNetwork Monitorの値はテキストのみでレンダリングされ、検証されます。Redis、ノード、為替レート、地理位置情報、タイルプロバイダーの障害に対しては、正常な縮退運転(Graceful degradation)が行われます。

リポジトリには、バージョン管理された脅威モデルとセキュリティおよび信頼性のレビューが含まれています。セキュリティ監査はcryptofoundryによって実施されました。

ランタイムとデプロイメントの変更

v1.3.0からアップグレードする運用者は、Node.js ^22.18.0 || >=24.11.0 が必須であり、設定済みのADAMANTノードがv0.10.2以降である必要がある点に注意してください。新しい config.jsonc を config.default.jsonc から作成し、nodes_adm、trustedProxies、redis、geoLocation、exchangeRates、log_level の設定を確認してください。FreegeoipはオプションのGeoJS統合に置き換えられました。地理位置情報を無効にしても、プロバイダー由来の地図データなしでピアおよびホスト名データは保持されます。リバースプロキシとファイアウォールは、同一オリジンの /osm-tiles/ パスを許可する必要があります。生成された public/ アセットはコミットされないため、デプロイ時に npm run build でビルドする必要があります。npm run dev はバックエンドとViteを同時に起動し、npm run dev:frontend はViteのみを起動します。

検証

リリースされたソースツリーは、ESLintおよびPrettierのチェック、6,337個の変換モジュールを含む本番ビルド、226個のNode.js単体テスト、41個のADAMANT Testnet APIライブテストを通過しており、依存関係の監査においても脆弱性は報告されていません。デスクトップ、タブレット、モバイル解像度での13ルートにわたるブラウザのスモークチェックにおいて、コンソールエラーや水平方向のオーバーフローは発生しませんでした。

完全なリリース情報は GitHub Releases で確認できます。