Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TRC: Built-in message queue for event subscribe #28

jiangyy0824 opened this issue Mar 13, 2019 · 3 comments

TRC: Built-in message queue for event subscribe #28

jiangyy0824 opened this issue Mar 13, 2019 · 3 comments


Copy link

@jiangyy0824 jiangyy0824 commented Mar 13, 2019

tip: 28
title: TRC-28 Built-in message queue for event subscribe
author: jiangyy
discussions to: #28
status: accepted
type: Standards Track
category: TRC
created: 2019-03-14

Simple Summary
Adding built-in message queue for event subscribe in java-tron.

The built-in message queue is designed for event subscribe. Developers could subscribe triggers directly from fullnode without event plugin.

Developers could use event plugins to subscribe triggers from fullnode, which provide very reliable service and store very large amount of data.

But in some cases, developers want to subscribe directly from fullnode, with short-term subscriptions. Native message queue is implemented to meet such requirement.

The function of native queue is configurable. It's is disabled by default. It shared the configuration of triggers with eventplugin.

The communication channel between fullnode and subscription client is socket. The bindport could be configurable to avoid conflicting.

event.subscribe = {
native = {
useNativeQueue = true // if true, use native message queue, else use event plugin.
bindport = 5555 // bind port
sendqueuelength = 1000 //max length of send queue

Developers should subscribe triggers very conveniently. What they need to do is: connecting to the port, subscribing the topics, then receivingthe triggers.

Copy link

@neshala neshala commented Jan 4, 2021

How exactly I can subscribe to the topic?

I have tried to send this JSON variable in order to subscribe, but no lack:

{"triggerName": "block", enable: true, "topic": "block"}
{"id": 1, "method": "block", "params": [""]}
or just

but none from above is working for me and I have enabled block topic in main config.


Copy link

@CerberusGR CerberusGR commented Apr 5, 2021

Does anybody has an example?
Why native queue server not running (port 5555 is not opened).


Copy link

@surindergiri surindergiri commented Jun 23, 2021

I am also facing same issue, enabled native events within Tron Node and trying to get contract events using below code in NodeJs.

this.tronWeb.getEventByTransactionID(txid).then(async result => {
      console.log('getEventByTransactionID  :: result :: ', result);
      return result;
    }).catch((err) => {
      console.log('ERROR getEventByTransactionID :: ', err);
      return false;

When I run the code then it return "parse error".
Did you figure out what exactly is the code format to subscribe contract events using Tron node native events?



Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants