最終更新:
編集

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にアクセスするには、curlPostmanRequestsなどの一般的な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 FirefoxPostman for ChromeOnline 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メソッドの完全なリストについては、こちらをご覧ください。

関連項目