HTTP / WebSocket APIの使用開始
自分の好みのプログラミング言語のクライアント・ライブラリを持っていなかったり、使いたくなかったりする場合は、XRP Ledgerのコアサーバソフトウェアであるrippled
のAPIを通して直接XRP Ledgerにアクセスすることができます。このサーバはJSON-RPCとWebSocketプロトコルでAPIを提供します。もしrippled
(install-rippled.html)のインスタンスを実行しない場合でも、公開サーバを利用することができます。
ヒント: WebSocket API ツールを使ってAPIを利用することもできますし、XRP Ledger Explorerを使ってレジャーの進捗をライブで見ることもできます。
JSON-RPCとWebSocketの違い
JSON-RPCとWebSocketはどちらもHTTPベースのプロトコルであり、ほとんどの場合、両方のプロトコルで提供されるデータは同じです。主な違いは次の通りです。
- JSON-RPCは、RESTful APIと同様に、呼び出しごとに個別のHTTPリクエストとレスポンスを使用します。このAPIにアクセスするには、curl、Postman、Requestsなどの一般的なHTTPクライアントを使用できます。
- WebSocketは、サーバがクライアントにデータをプッシュできる持続的な接続を使用します。イベント購読のようなプッシュメッセージを必要とする機能は、WebSocketを使用してのみ利用可能です。
どちらのAPIも暗号化されていない接続(http://
とws://
)とTLSを使って暗号化された接続(https://
とwss://
)があります。暗号化されていない接続はオープンネットワーク上で提供すべきではありませんが、クライアントがサーバと同じマシン上にある場合は使用できます。
管理者アクセス権限
rippled
サーバの管理メソッドを使用するには、次のように行います。この場合、サーバのバインド用として設定したIPアドレスとポートを使用する必要があります(例えば127.0.0.1:54321
)。また、管理機能にアクセスするには、構成ファイルで管理用としてマークされているポートおよびIPアドレスから接続しなければなりません。
構成ファイルの例では、ローカルループバックネットワーク上(127.0.0.1)のポート5005でJSON-RPC(HTTP)、ポート6006でWebSocket(WS)の接続をリッスンし、接続されるすべてのクライアントを管理者として扱っています。
WebSocket API
いくつかのメソッドをXRP Ledgerで試すことを予定している場合は、独自のWebSocketコードを記述することなく、WebSocket APIツールでAPIをすぐに使用できます。後ほど、独自のrippled
サーバへの接続が必要となった時点で、Web Socket接続をサポートした独自のクライアントを構築したりクライアントライブラリを利用することが可能です。
WebSocket APIによるリクエストの例:
{ "id": "my_first_request", "command": "server_info", "api_version": 1 }
レスポンスには、サーバの現在のステータスが表示されます。
さらに見る: リクエストのフォーマット > レスポンスのフォーマット > server_infoメソッドについて >
JSON-RPC
任意のHTTPクライアント(RESTED for Firefox、Postman for Chrome、Online HTTP client ExtendsClassなど)を使用して、JSON-RPCでrippled
サーバを呼び出すことができます。ほとんどのプログラミング言語には、HTTPリクエストを組み込むためのライブラリが用意されています。
JSON-RPCによるリクエストの例:
POST http://s1.ripple.com:51234/ Content-Type: application/json { "method": "server_info", "params": [ { "api_version": 1 } ] }
レスポンスには、サーバの現在のステータスが表示されます。
さらに見る: リクエストのフォーマット > レスポンスのフォーマット > server_infoメソッドについて >
コマンドライン
このコマンドラインインターフェイスは、JSON-RPCのものと同一のサービスに接続するため、公開サーバおよびサーバ構成は同一です。コマンドラインクライアントとして、rippled
がローカルインスタンスに接続します。
コマンドラインによるリクエストの例:
rippled --conf=/etc/rippled.cfg server_info
さらに見る: dコマンドライン使用リファレンス >
注記: コマンドラインインターフェイスは、管理の目的でのみ使用されることを想定しており サポートされるAPIではありません。rippled
の将来のバージョンでは、警告なしにコマンドラインAPIに破壊的変更を加える可能性があります!
利用可能なメソッド
APIメソッドの完全なリストについては、こちらをご覧ください。
- パブリックな
rippled
メソッド: レジャーからのデータの検索やトランザクションの送信など、パブリックサーバで利用可能なメソッドです。 - 管理用
rippled
メソッド: 管理者向けのrippled
サーバを管理するためのメソッドです。