Get topic messages

Subscribe to a topic ID's messages from a mirror node. You will receive all messages for the specified topic or within the defined start and end time.

Query Fees

Constructor
Description

new MirrorConsensusTopicQuery()

Initializes the MirrorConsensusTopicQuery object

new MirrorConsensusTopicQuery()

Methods

Method
Type
Description
Requirement

setTopicId(<topicId>)

TopicId

The topic ID to subscribe to

Required

setStartTime(<startTime>)

Instant

The time to start subscribing to a topic's messages

Optional

setEndTime(<endTime>)

Instant

The time to stop subscribing to a topic's messages

Optional

setLimit(<limit>)

long

The number of messages to return

Optional

subscribe(<mirrorClient, onNext onError)

MirrorClient, Consumer <MirrorConsensusTopicResponse>, Consumer<Throwable>

Subscribe and get the messages for a topic

Required

Java
new MirrorConsensusTopicQuery()
    .setTopicId(topicId)
    .subscribe(mirrorClient, resp -> {
                String messageAsString = new String(resp.message, StandardCharsets.UTF_8);

                System.out.println(resp.consensusTimestamp + " received topic message: " + messageAsString);
            },
            // On gRPC error, print the stack trace
            Throwable::printStackTrace);
//v1.3.2
JavaScript
new MirrorConsensusTopicQuery()
    .setTopicId(topicId)
    .subscribe(
        consensusClient,
        (message) => console.log(message.toString()),
        (error) => console.log(`Error: ${error}`)
    );

Last updated