Skip to main content

TIP-3 / Subscription API

Status: Proposed

This proposal aims to aid the contract tracing proposal, by providing an external API for client to be notified when data is available.

Motivation

We want client applications like wallets and explorers to get new information from the core without relying on polling. Current wallet implementations rely on polling the shell in order the know. When their balance has changed and when a transaction has gone through.

Requirements

The API should be topic driven, cheap for the server to decide which events to send and hold minimal state.

Proposed Solution

The client sends a HiRPC with the sub method. The parameter is an object containing a list of interested topics.

{
string[] topics;
}

The connection should be kept open and the server should continuously send documents matching the topic string. The response from the service should look like this.

{
string topic;
Document doc;
}

Examples

Subscribe to dart changes

subscribe

topics = [ "recorder" ];

History

10/12/2025: Changed proposal to be topic based instead of a content based filter.