用途:在本地 tontester 网络上复现并证明 TON 问题,而非仅启动验证者。典型触发包括部署合约后用内部消息触发缺陷、对比基线与探针验证者构建、验证崩溃、活性失败、畸形报文路径或兼容性主张,并为主维护者准备本地复现证据。\n\n主要能力:提供分步流程与脚本。run_basic_network.py 从单一构建启动一个或多个验证者,支持 --emit-wallet-env、--base-port、--validators、--keep-alive;run_mixed_network.py 启动基线与探针验证者用于恶意对诚实实验;compile_tolk.py 编译 .tolk 为 .fif 与代码 BoC(tolk 二进制过期会硬失败);build_stateinit.py 构建可部署 StateInit;run_fift_script.py 运行 .fif;wallet_send.py 构建并可发送钱包签名消息,用 --init-boc 部署、--body-boc 携带任意内部负载;send_boc.py 发送预构建外部消息;address_info.py、account_state.py、get_method.py、inspect_latest_transaction.py、run_liteclient.py、dump_boc.py、summarize_run.py、demo_wallet_flow.py 用于观察、导出与汇总。\n\n使用方式:先选工作流。触发路径为部署合约再发消息时用工作流 A:启动小网络并发出钱包环境,编译合约,构建 StateInit,用内置主钱包部署,等待激活后以 --body-boc 发送触发负载,再用 inspect_latest_transaction.py 与 dump_boc.py 检查。需要修改验证者代码时用工作流 B:快照基线构建,仅给探针构建打补丁并用 TON_PROBING_* 环境变量门控,选择混合拓扑与明确的成功/失败条件,用 --success-log、--failure-log、--require-node-alive、--require-node-dead 运行并确认探针侧与诚实节点两侧结果。成功的“未复现”也计入有效证据,但需满足触发路径已执行、标记出现、网络足够健康、观察对象正确且超时或 seqno 目标已到达。\n\n限制:helpers 依赖 tontester 内部与私有 API,tontester 变化时需调整;--wait-mc-advance 只证明网络存活,不证明交易成功或状态改变;tonlib 助手可能因本地构建兼容问题报 KeyError: '@extra',此时改用 lite-client 检查并手动传 --seqno;不要假设传入构建目录中有 lite-client;若缺 python 用 python3,tonapi 绑定通常由 test/tontester/generate_tl.py 生成;磁盘满需清理旧 run-* 目录。
ton-bug-triage
通用与其它
更新于 10-16 00:21