Last updated
Was this helpful?
Last updated
Was this helpful?
In the first tutorial, "Submit Your First Message," you have learned how to submit a message to a topic.
In this tutorial, you will learn how to query the Hedera Mirror Node API to retrieve and filter messages.
We recommend that you complete the "Submit Your First Message" tutorial to get a basic understanding of the Hedera Consensus Service. This example does not build upon the previous examples.
For this tutorial, create a new topic and submit three messages to this topic on testnet. You will use the retrieved topic ID to query for messages via the Hedera Mirror Node API.
Copy and execute the following code. Make sure to write down your topic ID
. The topic ID will be in 0.0.topicId
format (ex: 0.0.1234
).
The output in your console should look like this after executing the above setup code:
Next, let's query the mirror node to retrieve data.
Now all three messages have been submitted to your topic ID on testnet, let's query the mirror node. Let's use the testnet endpoint for the Hedera Mirror Node API to query for all messages for your topic ID. Make sure to replace the topic ID with the topic ID you've written down and execute the request in your browser or tool of choice.
In this section, you'll learn how to query messages by a sequence number. Each message you submit to a topic receives a sequence number starting from 1.
Execute the below request to retrieve the message with sequence number 2.
Possible query modifiers are:
Greater than (gt) / greater than or equal (gte)
Lower than (lt) / lower than or equal (lte)
Equal to (eq)
Not equal to (ne)
You can use these modifiers for query parameters like sequencenumber
and timestamp
(consensus timestamp).
In this step, let's query all messages with a sequence number greater than or equal to 2. To do so, let's use the gte
query parameter modifier and assign it the value 2, like this: sequencenumber=gte:2
.
The result should look similar to the API result below, with three messages being returned. The actual message contents are base64 encoded. If you want to verify the message contents, you can use this or decode it using code yourself.
If you take a look at the for Topics
, you'll find the first query /api/v1/topics/{topicId}/messages
. If you expand this section, you'll find all query parameters.
This section explores advanced filtering methods using query modifiers. The for the Hedera Mirror Node REST API shows all details for query parameters (e.g. timestampQueryParam
).
Have a question?
|
|