Python中ton库出现LITE_SERVER_UNKNOWN同步超时问题求助
解决TON库LITE_SERVER_UNKNOWN同步超时问题
问题分析
LITE_SERVER_UNKNOWN: timeout(during last block synchronization) 错误本质是tonlib客户端无法和默认配置的LITE服务器建立有效连接并同步最新区块。之前运行正常但后续报错,大概率是默认节点出现维护、地址变更或网络可达性波动。
解决方案
1. 显式指定可靠的LITE服务器节点
替换默认节点为官方或社区维护的稳定节点,是解决该问题的核心方案。修改客户端初始化代码,传入包含可用节点的配置:
from ton.sync import TonlibClient # 配置TON官方维护的LITE服务器节点 config = { "liteservers": [ { "ip": "65.109.68.190", "port": 443, "id": { "@type": "pub.ed25519", "key": "K0t3+IWLOXHYMvMcrGZDPs+pn58a17LFbnXoQkKc2xw=" } }, { "ip": "149.154.167.55", "port": 443, "id": { "@type": "pub.ed25519", "key": "DDtO0oQln4UOTDpZU354U3F3Q8+jf60t3pMwV7aC1BM=" } } ] } client = TonlibClient(config=config) TonlibClient.enable_unaudited_binaries() client.init_tonlib()
2. 延长同步超时时间
区块同步需要一定时间,默认超时可能不足以应对网络波动或节点负载高的情况。在初始化客户端和调用get_balance时设置更长的超时值:
# 初始化时设置30秒超时 client.init_tonlib(timeout=30) # 获取余额时也指定30秒超时 balance = client.from_nano(wallet.get_balance(timeout=30))
3. 确认tonlib二进制文件有效性
若重装库后仍有问题,可以手动指定二进制文件路径确保使用最新版本:
TonlibClient.set_binary_path("/path/to/tonlibjson") TonlibClient.enable_unaudited_binaries()
额外检查
- 确认DigitalOcean服务器的出站规则允许访问443端口(多数LITE服务器使用该端口);
- 尝试切换不同地区的DigitalOcean机房,避免区域网络限制。
内容的提问来源于stack exchange,提问作者Someone's name
相关产品推荐
相关产品推荐

