API WebSocket Blockchain.com

Ricevi in tempo reale notifiche di transazioni Bitcoin, eventi di nuovi blocchi e attività degli indirizzi tramite il gateway WebSocket pubblico di Blockchain.com.

TsgcWebSocketClient

L'endpoint WebSocket di Blockchain.com è un canale pubblico di comandi JSON — usa il generico TsgcWebSocketClient per inviare messaggi op e ricevere eventi utx/block.

Classe componente

TsgcWebSocketClient

Piattaforme

Windows, macOS, Linux, iOS, Android

Edizione

Standard / Professional / Enterprise

Connetti, sottoscrivi, analizza

Apri un TsgcWebSocketClient verso wss://ws.blockchain.info/inv, invia i comandi di sottoscrizione JSON e analizza gli eventi utx e block in arrivo.

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
    // Sottoscrivi tutte le nuove transazioni bitcoin
    Connection.WriteData('{"op":"unconfirmed_sub"}');

    // Ricevi nuovi blocchi
    Connection.WriteData('{"op":"blocks_sub"}');

    // Sottoscrivi un indirizzo specifico
    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";

// Aggancia OnMessage e OnConnect, poi sottoscrivi:
//   WSClient->WriteData("{\"op\":\"unconfirmed_sub\"}");
//   WSClient->WriteData("{\"op\":\"blocks_sub\"}");
WSClient->Active = true;

Cosa c'è all'interno

Blockchain.com espone un semplice op-channel JSON su WebSocket — usa direttamente TsgcWebSocketClient.

Transazioni non confermate

Invia {"op":"unconfirmed_sub"} dopo la connessione per ricevere ogni nuova transazione mempool come envelope {"op":"utx", "x":{...}}.

Nuovi blocchi

{"op":"blocks_sub"} sottoscrive le notifiche di nuovi blocchi — arriva un {"op":"block", "x":{...}} per ogni blocco minato (nota che il protocollo può pubblicare più di un evento in caso di split della catena).

Monitoraggio degli indirizzi

{"op":"addr_sub","addr":"<bitcoin-address>"} sottoscrive le transazioni in entrata/uscita per un singolo indirizzo. Usa "addr_unsub" per fermare.

Framing WebSocket generico

Poiché Blockchain.com usa un semplice canale di comandi JSON, il componente TsgcWebSocketClient è sufficiente — non è necessaria una classe Delphi specifica per l'exchange.

Resilienza

Configura WatchDog sul client per la riconnessione automatica in caso di interruzioni di rete, e HeartBeat con un ping a livello TCP per mantenere viva la connessione attraverso i timeout NAT.

Parsing JSON

Ricevi ogni frame in OnMessage, poi analizzalo con sgcJSON o la tua libreria JSON preferita. Il corpo della transazione si trova sotto il campo x dell'envelope.

Specifiche e riferimenti

Fonti autorevoli per le API a cui si connette questo componente.

Documentazione e demo

Accedi al riferimento del componente, scarica il progetto demo pronto all'uso e ottieni la versione di prova.

Guida online — API_Blockchain Note sulla connessione al gateway WebSocket Blockchain.com da Delphi.
Versione di prova gratuita — sgcWebSockets Scarica il pacchetto di prova per usare TsgcWebSocketClient con qualsiasi endpoint WebSocket pubblico.
Documento tecnico (PDF) Funzionalità, guida rapida, esempi di codice per Delphi e C++ Builder e riferimenti delle fonti primarie — solo per questo componente.
Manuale utente (PDF) Manuale completo che copre ogni componente della libreria.

Pronto a monitorare la rete Bitcoin?

Scarica la versione di prova gratuita e trasmetti gli eventi Blockchain.com nelle tue applicazioni Delphi.