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.