1
0
Fork 0
mirror of https://github.com/eosswedenorg/thalos-docs synced 2026-10-15 03:46:46 +02:00
thalos-docs/docs/api/messages.md

6.3 KiB

Messages

This document describes the message payloads published by Thalos.

Encoding

Thalos supports two codecs (configured via message_codec / --codec):

  • json (default)
  • msgpack

When using JSON:

  • []byte fields are base64-encoded strings
  • timestamps are UTC and serialized by the JSON codec

Message types

HeartBeat

Published on heartbeat channel periodically.

Field Type Description
blocknum uint32 Current block number
head_blocknum uint32 Current chain head block number
last_irreversible_blocknum uint32 Last irreversible block number

TransactionTrace

Published on transactions channel (unless disabled).

Field Type Description
id string Transaction id
blocknum uint32 Block number
blocktimestamp time Block timestamp
status string Transaction status
cpu_usage_us uint32 CPU usage (microseconds)
net_usage_words uint32 NET usage words
elapsed int64 Execution time
net_usage uint64 NET usage
scheduled bool Scheduled transaction flag
action_traces ActionTrace[] Action traces for this transaction
except string Exception text (if any)
error uint64 Error code

ActionTrace

Published on actions channels (unless disabled), and also nested in TransactionTrace.action_traces.

Field Type Description
tx_id string Parent transaction id
blocknum uint32 Block number
blocktimestamp time Block timestamp
receipt ActionReceipt / null Action receipt
name string Action name
contract string Contract account
receiver string Receiver account
first_receiver bool True if receiver is first receiver
data any ABI-decoded action data when available
authorization PermissionLevel[] Authorization list
except string Exception text (if any)
error uint64 Error code
return bytes Return value bytes

Note: the field is name (not action).

ActionReceipt

Field Type Description
receiver string Receiver account
act_digest string Action digest
global_sequence uint64 Global sequence
recv_sequence uint64 Receiver sequence
auth_sequence AccountAuthSequence[] Auth sequence list
code_sequence uint32 Code sequence
abi_sequence uint32 ABI sequence

PermissionLevel

Field Type Description
actor string Actor account
permission string Permission name

AccountAuthSequence

Field Type Description
account string Account name
sequence uint64 Sequence

RollbackMessage

Published on rollback channel on microfork rollback detection.

Field Type Description
old_block uint32 Previous current block
new_block uint32 New current block

TableDelta

Published on tabledeltas channels (unless disabled).

Field Type Description
blocknum uint32 Block number
blocktimestamp time Block timestamp
name string SHIP delta name
rows TableDeltaRow[] Rows in the delta

TableDeltaRow

Field Type Description
present bool Row present/removed flag
data object Parsed row data when available
raw_data bytes Raw row bytes

TableDeltaRowContract (name = contract_row)

For contract_row deltas, data typically contains:

Field Type Description
table string Table name
scope string Table scope
primary_key string | int Primary key
code string Contract account
payer string RAM payer
value object | base64_string Decoded row value when ABI is available; otherwise raw bytes

If ABI decode fails, Thalos keeps raw data and may leave decoded fields partial.