{"id":18966884,"url":"https://github.com/tronprotocol/tron-eventquery","last_synced_at":"2025-04-12T09:12:27.569Z","repository":{"id":37172322,"uuid":"165994866","full_name":"tronprotocol/tron-eventquery","owner":"tronprotocol","description":"Tron-EventQuery is implemented with tron's event subscribe model, it's used to query event triggers from fullnode.","archived":false,"fork":false,"pushed_at":"2024-09-19T16:23:14.000Z","size":169,"stargazers_count":44,"open_issues_count":7,"forks_count":25,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-12T09:11:20.027Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tronprotocol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-16T07:29:47.000Z","updated_at":"2025-03-18T08:56:40.000Z","dependencies_parsed_at":"2025-02-07T14:11:11.548Z","dependency_job_id":"0d56220e-3d13-4a63-8db1-7433025153fe","html_url":"https://github.com/tronprotocol/tron-eventquery","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronprotocol%2Ftron-eventquery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronprotocol%2Ftron-eventquery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronprotocol%2Ftron-eventquery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronprotocol%2Ftron-eventquery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tronprotocol","download_url":"https://codeload.github.com/tronprotocol/tron-eventquery/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248543848,"owners_count":21121838,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T14:38:58.638Z","updated_at":"2025-04-12T09:12:27.546Z","avatar_url":"https://github.com/tronprotocol.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  Tron Event Query Service\nTronEventQuery is implemented with Tron's new event subscribe model.   \t\nIt uses same query interface with Tron-Grid. Users can also subscribe block trigger, transaction trigger, contract log trigger, and contract event trigger.   \t\nTronEvent is independent of a particular branch of java-tron, the new event subscribes model has already be released on version 3.5 of java-tron.\t\n\n For more information of tron event subscribe model, please refer to https://github.com/tronprotocol/TIPs/issues/12.\t\n\n ## Download sourcecode\t\ngit clone https://github.com/tronprotocol/tron-eventquery.git        \t\n\ncd troneventquery\t\n\n## Build\t\n**mvn package**  \t\n\n After the build command is executed successfully, troneventquery jar to release will be generated under troneventquery/target directory. \t\nConfiguration of mongodb \"config.conf\" should be created for storing mongodb configuration, such as database name, username, password, and so on. We provided an example in sourcecode, which is \" troneventquery/config.conf \". Replace with your specified configuration if needed.\t\n\n **Note**: \t\nMake sure the relative path of config.conf and troneventquery jar. The config.conf 's path is the parent of troneventquery jar.\t\n\n  - mongo.host=IP \t\n - mongo.port=27017 \t\n - mongo.dbname=eventlog\t\n - mongo.username=tron\t\n - mongo.password=123456\t\n - mongo.connectionsPerHost=8\t\n - mongo.threadsAllowedToBlockForConnectionMultiplier=4\t\n\n Any configuration could be modified except **mongo.dbname**, \"**eventlog**\" is the specified database name for event subscribe.\t\n\n ## Run\t\n- troneventquery/deploy.sh is used to deploy troneventquery\t\n- troneventquery/insertIndex.sh is used to setup mongodb index to speedup query. \t\n(make sure run insertIndex before create collecions)\t\n\n ## Delete expire data\t\n- troneventquery/deleteData.sh is used to delete expire data\n- using crontable delete regularly mongodb expire data(if not delete, the database will be too big)\n\n\n## What is the main HTTP service?\nbaseUrl: https://api.tronex.io\n\n## Main HTTP Service  \nFunction: get transaction list\n```\nsubpath: $baseUrl/transactions\n\nparameters   \nlimit: each page size, default is 25\nsort: sort Field, default is sort by timeStamp descending order\nstart: start page, default is 1\nblock: start block number, default is 0\n\nExample: https://api.tronex.io/transactions?limit=1\u0026sort=-timeStamp\u0026start=2\u0026block=0\n```\n\nFunction: get transaction by hash\n```\nsubpath: $baseUrl/transactions/{hash}\n\nparameters   \nhash: transaction id\n\nExample: https://api.tronex.io/9a4f096700672d7420889cd76570ea47bfe9ef815bb2137b0d4c71b3d23309e9\n```\nFunction: get transfers list\n```\nsubpath: $baseUrl/transfers\t\n\nparameters   \nlimit: each page size, default is 25\nsort: sort Field, default is sort by timeStamp descending order\nstart: start page, default is 1\nfrom: from address, default is \"\"\nto: to address, default is \"\"\ntoken: tokenName, default is \"\"\n\nExample: https://api.tronex.io/transfers?token=trx\u0026limit=1\u0026sort=timeStamp\u0026start=2\u0026block=0\u0026from=TJ7yJNWS8RmvpXcAyXBhvFDfGpV9ZYc3vt\u0026to=TAEcoD8J7P5QjWT32r31gat8L7Sga2qUy8\n```\nFunction: get transfers by transactionId\n```\nsubpath: $baseUrl/transfers/{hash}\n\nparameters   \nhash: transfer hash\n\nExample: https://api.tronex.io/transfers/70d655a17e04d6b6b7ee5d53e7f37655974f4e71b0edd6bcb311915a151a4700\n```\nFunction: get events list\n```\nsubpath: $baseUrl/events\n\nparameters   \nlimit: each page size, default is 25\nsort: sort Field, default is sort by timeStamp descending order\nsince: start time of event occurrence, timeStamp \u003e= since will be shown\nstart: start page, default is 1\nblock: block number, block number \u003e= block will be shown\n\nExample: https://api.tronex.io/events?limit=1\u0026sort=timeStamp\u0026since=0\u0026block=0\u0026start=0\n```\nFunction: get events by transactionId\n```\nsubpath: $baseUrl/events/transaction/{transactionId}\n\nparameters   \ntransactionId\n\nExample: https://api.tronex.io/events/transaction/cd402e64cad7e69c086649401f6427f5852239f41f51a100abfc7beaa8aa0f9c\n```\nFunction: get events by contract address\n```\nsubpath: $baseUrl/events/{contractAddress}\n\nparameters   \nlimit: each page size, default is 25\nsort: sort Field, default is sort by timeStamp descending order\nsince: start time of event occurrence, timeStamp \u003e= since will be shown\nblock: block number, block number \u003e= block will be shown\ncontractAddress: contract address\nstart: start page, default is 1\n\nExample: https://api.tronex.io/events/TMYcx6eoRXnePKT1jVn25ZNeMNJ6828HWk?limit=1\u0026sort=-timeStamp\u0026since=0\u0026block=0\u0026start=4\n```\nFunction: get events by contract address and event name\n```\nsubpath: $baseUrl/events/contract/{contractAddress}/{eventName}\n\nparameters   \nlimit: each page size, default is 25\nsort: sort Field, default is sort by timeStamp descending order\nsince: start time of event occurrence, timeStamp \u003e= since will be shown\ncontract`Address`: contract address\nstart: start page, default is 1\neventName: event name\n\nExample: https://api.tronex.io/events/contract/TMYcx6eoRXnePKT1jVn25ZNeMNJ6828HWk/Bet?limit=1\u0026sort=timeStamp\u0026since=1\u0026start=0\n```\nFunction: get events by contract address, event name and block number\n```\nsubpath: $baseUrl/events/contract/{contractAddress}/{eventName}/{blockNumber}\n\nparameters   \ncontractAddress: contract address\nblockNumber: block number, block number \u003e= block will be shown\neventName: event name\n\n\nExample: https://api.tronex.io/events/contract/TMYcx6eoRXnePKT1jVn25ZNeMNJ6828HWk/Bet/4835773\n```\nFunction: get events by timeStamp\n```\nsubpath: $baseUrl/events/timestamp\n\nparameters   \nsince: start time of event occurrence, timeStamp \u003e= since will be shown\nlimit: each page size, default is 25\nsort: sort Field, default is sort by timeStamp descending order\nstart: start page, default is 1\ncontract: contract address\n\n\nExample: https://api.tronex.io/events/timestamp?since=1544483426749\u0026limit=1\u0026start=1\u0026sort=timeStamp\n```\nFunction: get confirm events list\n```\nsubpath: $baseUrl/events/confirmed\n\nparameters   \nsince: start time of event occurrence, timeStamp \u003e= since will be shown\nlimit: each page size, default is 25\nsort: sort Field, default is sort by timeStamp descending order\nstart: start page, default is 1\n\n\nExample: https://api.tronex.io/events/confirmed?since=1544483426749\u0026limit=1\u0026start=1\u0026sort=timeStamp\n```\nFunction: get block by block hash\n```\nsubpath: $baseUrl/blocks/{hash}\n\nparameters   \nhash: block hash\n\n\nExample: https://api.tronex.io/blocks/000000000049c11f15d4e91e988bc950fa9f194d2cb2e04cda76675dbb349009\n```\nFunction: get block list\n```\nsubpath: $baseUrl/blocks\n\nparameters   \nlimit: each page size, default is 25\nsort: sort Field, default is sort by timeStamp descending order\nstart: start page, default is 1\nblock: block number, block number \u003e= block will be shown \n\n\nExample: https://api.tronex.io/blocks?limit=1\u0026sort=timeStamp\u0026start=0\u0026block=0\n```\nFunction: get latest block number\n```\nsubpath: $baseUrl/blocks/latestSolidifiedBlockNumber\n\nparameters   \nnone\n\nExample: https://api.tronex.io/blocks/latestSolidifiedBlockNumber\n```\nFunction: get contract log list\n```\nsubpath: $baseUrl/contractlogs\n\nparameters   \nlimit: each page size, default is 25\nsort: sort Field, default is sort by timeStamp descending order\nstart: start page, default is 1\nblock: block number, block number \u003e= block will be shown \n\nExample: https://api.tronex.io/contractlogs\n```\nFunction: get contract log list based on transactionId\n```\nsubpath: $baseUrl/contractlogs/transaction/{transactionId}\n\nparameters   \ntransactionId\n\nExample: https://api.tronex.io/contractlogs/transaction/{transactionId}\n```\nFunction: post abi string and get contract log list based on transactionId(release on 3.6)\n```\nsubpath: $baseUrl/contract/transaction/{transactionId}\n\nparameters   \ntransactionId\nbody:\nabi: user self upload abi\n\nExample: https://api.tronex.io/contract/transaction/{transactionId}\n```\nFunction: get contract log list based on contractAddress\n```\nsubpath: $baseUrl/contractlogs/contract/{contractAddress}\n\nparameters   \ncontractAddress\n\nExample: https://api.tronex.io/contractlogs/contract/{contractAddress}\n```\nFunction: post abi string and get contract log list based on contractAddress(release on 3.6)\n```\nsubpath: $baseUrl/contract/contractAddress/{contractAddress}\n\nparameters   \ncontractAddress\nabi: user self upload abi\n\nExample: https://api.tronex.io/contract/contractAddress/{contractAddress}\n```\nFunction: get contract log list based on uniqueId\n```\nsubpath: $baseUrl/contractlogs/uniqueId/{uniqueId}\n\nparameters   \nuniqueId\n\nExample: https://api.tronex.io/contractlogs/uniqueId/{uniqueId}\n```\nFunction: post abi string and get contract log list based on uniqueId(release on 3.6)\n```\nsubpath: $baseUrl/contract/uniqueId/{uniqueId}\n\nparameters   \nuniqueId\nabi: user self upload abi\n\nExample: https://api.tronex.io/contract/uniqueId/{uniqueId}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftronprotocol%2Ftron-eventquery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftronprotocol%2Ftron-eventquery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftronprotocol%2Ftron-eventquery/lists"}