LITESERVER_SERVER- Liteserver IP in INT formatLITESERVER_PORT- Port for liteserverLITESERVER_PUBKEY- Pubkey in base64 formatEMULATOR_PATH- Path to SO of emulatorTO_SEQNO[OPTIONAL] - Download data TO this MC seqno, if None - will download to latest block in LSFROM_SEQNO[OPTIONAL] - Download data from this MC seqno, if None - use TO_EMULATE_MC_BLOCKSTO_EMULATE_MC_BLOCKS[OPTIONAL] - Number of blocks from latest to emulate, 10 by defaultNPROC[OPTIONAL] - Number of process to start (more process, more CPU & RAM load), 10 by defaultCHUNK_SIZE[OPTIONAL] - Number of MC block to load and emulate by 1 iteration (2 by default)EMUSO_LOGLEVEL[OPTIONAL] - 0 - disabled, 1 - per chunk, 2 - tqdm (1 by default)ONLYMC_BLOCK[OPTIONAL] - Emulate only MC blocks (false by default)TX_CHUNK_SIZE[OPTIONAL] - Num of TXs emulated by 1 iteration (40k is good, if <32gb ram - consider to use lower)C7_REWRITE[OPTIONAL] -{1: "base64 boc"}json to override C7 paramsCOLOR_SCHEMA_PATH[OPTIONAL] - Path to JSON schema of TLB "colors" - warning/error/ignore diff checks on fields.TXS_TO_PROCESS_PATH[OPTIONAL] - Path to JSON file with ordered TXs to checkLITESERVER_TIMEOUT[OPTIONAL] - Timeout per one LC callEMULATOR_UNCHANGED_PATH[OPTIONAL] - Path to SO of emulator for ShardAccount diff compareTONCENTER_TX_HASH[OPTIONAL] - Transaction hash (hex or base64) to trace via Toncenter and emulate the involved blocksTONCENTER_MSG_HASH[OPTIONAL] - Message hash (hex or base64) to trace if TONCENTER_TX_HASH is not providedTONCENTER_API_KEY[OPTIONAL] - Toncenter API key; if set, requests include headers {'X-API-Key': , 'Content-Type': 'application/json', 'accept': 'application/json'}TONCENTER_API[OPTIONAL] - Toncenter API base URL (default: https://toncenter.com/api/v3)TONCENTER_TRACES_BY_MASTERS[OPTIONAL] - Emulate many traces from Toncenter within a masterchain logical-time (LT) range (FROM_SEQNOandTO_SEQNO)
- "skip" - skip check for field
- "warn" - warn if field missmatch, but calc as success
- "alarm" - calc as unsuccessful if field missmatch
Option A: Use toncenter traces (by transaction or message hash)
- Usage:
- Preferred: set env
TONCENTER_TX_HASH=<HEX_OR_BASE64_TX_HASH> - Fallback: if TONCENTER_TX_HASH is not set, you can set
TONCENTER_MSG_HASH=<HEX_OR_BASE64_MSG_HASH> - Optional: set
TONCENTER_API=https://toncenter.com/api/v3(default is already this) - Optional: set
TONCENTER_API_KEY=<YOUR_API_KEY>to include headers {'X-API-Key': , 'Content-Type': 'application/json', 'accept': 'application/json'} in toncenter requests - Run:
tonemuso
- Preferred: set env
- The tool will:
- Query Toncenter v3 traces for the given tx_hash or msg_hash;
- Load only blocks that contain transactions from the trace via liteserver;
- Emulate transactions and produce diff like in blockscanner mode.
Option B: Provide explicit TX list JSON
For each TX need to provide (transaction) hash, lt, workchain, shard, seqno, root_hash, file_hash.
If you have TX of initial trace tx you can get all fields:
{
transactions(
trace_hash: "9CE993000E4D40F81FBE867972E712ECD6D55849D8E0FC1F54A2ACF657BD9315"
page_size: 150
) {
hash
lt
workchain
shard
seqno
root_hash
file_hash
}
}