Skip to main content
The Tron processor can index blocks all the way to the current chain head, including blocks that have not yet been finalized. Real-time data requires an HTTP API data source - add one with setHttpApi().

Indexing unfinalized blocks

To index unfinalized (“hot”) blocks and stay correct across chain reorganizations, a squid must use a Database with hot block support (e.g. TypeormDatabase) in its processor.run() call, and not cap its block range below the chain head. When a blockchain reorganization happens, the processor rolls back any changes to the database made due to orphaned blocks, then re-runs its batch handler on consensus blocks, so that the state of the Database reflects the current chain consensus at all times.
Database rollback does not undo external side effects such as Kafka messages or HTTP requests. Make those effects idempotent and reconcile provisional records by block height and hash, or delay irreversible actions until finality. See Make external side effects reorg-safe.