You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 08:59:53