Blockchain.com WebSocket API

Odbieraj powiadomienia o transakcjach Bitcoin, zdarzeniach nowych bloków i aktywności adresów w czasie rzeczywistym przez publiczną bramę WebSocket Blockchain.com.

TsgcWebSocketClient

Punkt końcowy WebSocket Blockchain.com to publiczny kanał poleceń JSON — użyj ogólnego TsgcWebSocketClient, aby wysyłać komunikaty op i odbierać zdarzenia utx/block.

Klasa komponentu

TsgcWebSocketClient

Platformy

Windows, macOS, Linux, iOS, Android

Edycja

Standard / Professional / Enterprise

Połącz, subskrybuj, parsuj

Otwórz TsgcWebSocketClient na wss://ws.blockchain.info/inv, wyślij polecenia subskrypcji JSON i sparsuj przychodzące zdarzenia utx i 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;

Co jest w środku

Blockchain.com udostępnia prosty kanał JSON op przez WebSocket — używaj TsgcWebSocketClient bezpośrednio.

Niepotwierdzone transakcje

Wyślij {"op":"unconfirmed_sub"} po połączeniu, aby odbierać każdą nową transakcję mempool jako kopertę {"op":"utx", "x":{...}}.

Nowe bloki

{"op":"blocks_sub"} subskrybuje powiadomienia o nowych blokach — jedno {"op":"block", "x":{...}} dla każdego wydobytego bloku (protokół może opublikować więcej niż jedno zdarzenie przy podziale łańcucha).

Monitorowanie adresów

{"op":"addr_sub","addr":"<bitcoin-address>"} subskrybuje transakcje przychodzące/wychodzące dla jednego adresu. Użyj "addr_unsub", aby zatrzymać subskrypcję.

Standardowe ramkowanie WebSocket

Ponieważ Blockchain.com używa prostego kanału poleceń JSON, komponent TsgcWebSocketClient jest wystarczający — nie jest wymagana specyficzna klasa Delphi dla tej giełdy.

Odporność na błędy

Skonfiguruj WatchDog na kliencie, aby automatycznie ponownie łączyć się po zerwaniu sieci, i HeartBeat z pingiem TCP, aby utrzymać połączenie przez limity czasu NAT.

Parsowanie JSON

Odbieraj każdą ramkę w OnMessage, a następnie parsuj za pomocą sgcJSON lub preferowanej biblioteki JSON. Treść transakcji znajduje się w polu x koperty.

Specyfikacje i źródła

Autorytatywne źródła API, z którymi łączy się ten komponent.

Dokumentacja i wersje demo

Przejdź bezpośrednio do dokumentacji komponentu, pobierz gotowy do uruchomienia projekt demonstracyjny i pobierz wersję próbną.

Pomoc online — API_Blockchain Wskazówki dotyczące łączenia się z bramą WebSocket Blockchain.com z Delphi.
Bezpłatna wersja próbna — sgcWebSockets Pobierz pakiet próbny, aby używać TsgcWebSocketClient z dowolnym publicznym punktem końcowym WebSocket.
Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz odniesienia do źródeł pierwotnych — tylko ten komponent.
Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki.

Gotowy, żeby monitorować sieć Bitcoin?

Pobierz bezpłatną wersję próbną i streamuj zdarzenia Blockchain.com do swoich aplikacji Delphi.