Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】André Dias Moreira Prol: Query Stellar Horizon API in Python & JS

2026年09月25日に「Dev.to」が公開したITニュース「André Dias Moreira Prol: Query Stellar Horizon API in Python & JS」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Stellar Horizon APIは、StellarブロックチェーンのデータをPythonやJavaScriptで簡単に取得できるRESTインターフェースだ。アカウント残高、トランザクション履歴、ネットワーク上のアセット情報をシンプルなHTTPリクエストで取得でき、複雑なブロックチェーンデータ活用を支援する。実践的なコード例も紹介している。

ITニュース解説

Stellar(ステラ)は、銀行や金融機関が国境を越えた取引を低コストで迅速に行えるように設計された分散型ネットワークである。このネットワーク上の情報にアクセスするための主要な手段がHorizon API(ホライズン エーピーアイ)である。これは、Stellarブロックチェーンの複雑なデータを、一般的なウェブサービスで使われるREST(Representational State Transfer)というシンプルな形式で提供するインターフェースだ。システムエンジニアを目指す人にとって、このようなAPIを理解し活用することは、現代の分散システムやWeb3技術を扱う上で非常に重要なスキルとなる。

Horizon APIの最大の魅力は、その使いやすさにある。従来のブロックチェーンAPIが、プロトコルに関する深い知識を要求する重厚なJSON-RPCノードであったのに対し、Horizonはアカウント情報、トランザクション履歴、ネットワーク上のアセットといった主要なデータを、予測可能でクリーンなHTTPエンドポイントを通じて公開している。これにより、開発者は複雑なブロックチェーンの内部構造を意識することなく、標準的なウェブ技術を用いてStellarネットワークと連携できる。

具体的にHorizon APIを使って何ができるのか、その代表的な例を見ていこう。まず、Stellarネットワーク上のアカウントと残高の照会である。Stellarのすべてのアカウントは「G」で始まる公開鍵を持ち、Stellarの基軸通貨であるXLM(ルーメン)や、他のデジタル資産の残高を保持している。Horizon APIでは、特定のアカウントIDを指定してGETリクエストを送るだけで、そのアカウントの詳細な情報を取得できる。記事ではPythonとJavaScriptという2つのプログラミング言語でのコード例が紹介されている。Pythonではstellar-sdk、JavaScriptでは@stellar/stellar-sdkという公式ライブラリを使用し、わずか数行のコードでアカウントの残高を簡単に取得できる様子が示されている。ここで注目すべきは、HorizonがJSON:APIという厳格な形式でデータを返すため、_linksフィールドを使ってページネーション(大量のデータを分割して取得すること)を自動的に行える点だ。これにより、開発者が手動でURLを作成する手間が省け、効率的にデータを扱える。

次に、Stellarネットワークの「心臓部」ともいえるトランザクションと操作の取得について解説する。トランザクションとは、Stellar上で行われるすべての取引や操作の記録であり、金融システムにおける取引履歴のようなものだ。これらの情報は、監査やコンプライアンス(法令順守)の分析において不可欠なデータとなる。Horizon APIは、特定のトランザクションハッシュ(取引の識別子)を指定して情報を取得できるだけでなく、特定のアカウントの全履歴をストリーミング(継続的にデータを受け取ること)することも可能である。記事では、Pythonで最新のトランザクションを10件取得する例と、JavaScriptで特定アカウントのトランザクションをリアルタイムで監視するライブストリーミングの例が示されている。このライブストリーミング機能はServer-Sent Events(SSE)という技術を利用しており、サーバー側から新しいデータがプッシュされるたびに自動的に更新を受け取れるため、クライアント側が定期的にサーバーに問い合わせる「ポーリング」方式に比べて、インフラコストを大幅に削減できるという大きなメリットがある。

さらに、Stellarネットワーク上のアセット(デジタル資産)の探索もHorizon APIを通じて可能である。Stellarは、独自のネイティブアセットモデルを持っており、XLM以外の様々なデジタル資産が発行されている。これらのアセットは、アセットコード(例:USDC)と発行者の公開鍵の組み合わせで識別される。Horizon APIの/assetsエンドポイントを使えば、特定のアセットに関する情報を照会できる。記事では、USDCというステーブルコイン(法定通貨に価値が連動する暗号資産)を例に、PythonとJavaScriptでそのアセットコードと発行者を指定して情報を取得するコードが紹介されている。取得できる情報の中にはnum_accountsというフィールドがあり、これはそのアセットを信頼し保有しているアカウントの数を表している。この情報は、市場における特定のアセットの実際の普及度や採用状況を把握するための重要な指標となる。

ただし、Horizon APIを利用する上で注意すべき点もある。公開されているHorizonインスタンスには、一度に処理できるリクエストの数に制限(レート制限)が設けられている場合がある。これは、悪意のある大量アクセスや、誤ってサーバーに過度な負荷をかけることを防ぐための措置である。そのため、本格的なプロダクションシステムでHorizon APIを使用する場合には、自分でHorizonサーバーを運用するか、サービス品質保証(SLA)のあるプロバイダーのサービスを利用するなど、より安定した環境を確保する必要がある。

結論として、Horizon APIは、Stellarブロックチェーンの複雑な情報を、開発者が扱いやすいシンプルなRESTコールに変換してくれる強力なツールである。このAPIを活用することで、ブロックチェーンの監査、デジタルアセットのトークン化、さらにはAIを活用したデータ分析など、多岐にわたるシステム開発が格段に容易になる。システムエンジニアを目指す初心者にとって、このようなモダンなAPIと分散型ネットワークの連携技術を学ぶことは、将来のキャリアにおいて大きな強みとなるだろう。

関連コンテンツ

関連IT用語