mirror of
https://github.com/eosswedenorg/thalos-docs
synced 2026-10-15 03:46:46 +02:00
6.3 KiB
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:
[]bytefields 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(notaction).
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.