Blockchain.com WebSocket API

Blockchain.com の公開 WebSocket ゲートウェイを通じて、ビットコインのリアルタイムトランザクション通知、新しいブロックイベント、アドレスアクティビティを受信します。

TsgcWebSocketClient

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" を使用します。

汎用 WebSocket フレーミング

Blockchain.com はシンプルな JSON コマンドチャネルを使用しているため、TsgcWebSocketClient コンポーネントだけで十分です。取引所専用の Delphi クラスは不要です。

レジリエンス

クライアントの WatchDog でネットワーク切断時の自動再接続を設定し、HeartBeat の TCP レベル ping で NAT タイムアウトを超えて接続を維持します。

JSON 解析

OnMessage で各フレームを受信し、sgcJSON またはお好みの JSON ライブラリで解析します。トランザクションの本文はエンベロープの x フィールドにあります。

仕様とリファレンス

このコンポーネントが接続する API の一次資料です。

ドキュメントとデモ

コンポーネントリファレンスへのディープリンク、すぐに実行できるデモプロジェクト、体験版のダウンロードをご利用ください。

オンラインヘルプ — API_Blockchain Delphi から Blockchain.com WebSocket ゲートウェイへの接続に関するメモ。
体験版 — sgcWebSockets 体験版パッケージをダウンロードして、任意の公開 WebSocket エンドポイントに TsgcWebSocketClient を使用してください。
技術ドキュメント (PDF) 機能、クイックスタート、Delphi および C++ Builder のコードサンプルと一次情報源リファレンス — 本コンポーネントのみ。
ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した包括的なマニュアルです。

Bitcoin ネットワークの監視を始める準備はできましたか?

体験版をダウンロードして、Blockchain.com イベントを Delphi アプリケーションにストリーミングしましょう。