Blockchain.com WebSocket API
Blockchain.com の公開 WebSocket ゲートウェイを通じて、ビットコインのリアルタイムトランザクション通知、新しいブロックイベント、アドレスアクティビティを受信します。
Blockchain.com の公開 WebSocket ゲートウェイを通じて、ビットコインのリアルタイムトランザクション通知、新しいブロックイベント、アドレスアクティビティを受信します。
Blockchain.com の WebSocket エンドポイントは公開 JSON コマンドチャネルです。汎用の TsgcWebSocketClient を使用して op メッセージを送信し、utx/block イベントを受信します。
TsgcWebSocketClient
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
TsgcWebSocketClient を wss://ws.blockchain.info/inv に接続し、JSON サブスクライブコマンドを送信して、受信した utx および block イベントを解析します。
uses
sgcWebSocket, sgcJSON;
var
WSClient: TsgcWebSocketClient;
begin
WSClient := TsgcWebSocketClient.Create(nil);
WSClient.URL := 'wss://ws.blockchain.info/inv';
WSClient.OnMessage := procedure(Connection: TsgcWSConnection; const Text: string)
begin
Memo1.Lines.Add(Text);
end;
WSClient.OnConnect := procedure(Connection: TsgcWSConnection)
begin
// Subscribe to all new bitcoin transactions
Connection.WriteData('{"op":"unconfirmed_sub"}');
// Receive new blocks
Connection.WriteData('{"op":"blocks_sub"}');
// Subscribe to a specific address
Connection.WriteData('{"op":"addr_sub","addr":"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"}');
end;
WSClient.Active := True;
end;
// uses: sgcWebSocket
TsgcWebSocketClient *WSClient = new TsgcWebSocketClient(this);
WSClient->URL = "wss://ws.blockchain.info/inv";
// Hook OnMessage and OnConnect, then subscribe:
// WSClient->WriteData("{\"op\":\"unconfirmed_sub\"}");
// WSClient->WriteData("{\"op\":\"blocks_sub\"}");
WSClient->Active = true;
Blockchain.com は WebSocket 上のシンプルな JSON op チャネルを公開しています。TsgcWebSocketClient を直接使用してください。
接続後に {"op":"unconfirmed_sub"} を送信すると、新しいメモリープールトランザクションを {"op":"utx", "x":{...}} エンベロープとして受信できます。
{"op":"blocks_sub"} で新ブロック通知にサブスクライブします。マイニングされたブロックごとに {"op":"block", "x":{...}} が届きます(チェーン分岐時は複数のイベントが発行される場合があります)。
{"op":"addr_sub","addr":"<bitcoin-address>"} で特定アドレスの入出金トランザクションにサブスクライブします。停止するには "addr_unsub" を使用します。
Blockchain.com はシンプルな JSON コマンドチャネルを使用しているため、TsgcWebSocketClient コンポーネントだけで十分です。取引所専用の Delphi クラスは不要です。
クライアントの WatchDog でネットワーク切断時の自動再接続を設定し、HeartBeat の TCP レベル ping で NAT タイムアウトを超えて接続を維持します。
OnMessage で各フレームを受信し、sgcJSON またはお好みの JSON ライブラリで解析します。トランザクションの本文はエンベロープの x フィールドにあります。
このコンポーネントが接続する API の一次資料です。
コンポーネントリファレンスへのディープリンク、すぐに実行できるデモプロジェクト、体験版のダウンロードをご利用ください。
| オンラインヘルプ — API_Blockchain Delphi から Blockchain.com WebSocket ゲートウェイへの接続に関するメモ。 | 開く | |
| 体験版 — sgcWebSockets 体験版パッケージをダウンロードして、任意の公開 WebSocket エンドポイントに TsgcWebSocketClient を使用してください。 | 開く | |
| 技術ドキュメント (PDF) 機能、クイックスタート、Delphi および C++ Builder のコードサンプルと一次情報源リファレンス — 本コンポーネントのみ。 | 開く | |
| ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した包括的なマニュアルです。 | 開く |