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

TON区块链:如何通过哈希获取交易数据及lt相关问题排查

使用TonClient获取交易数据时的Invalid Hash问题及相关疑问

我尝试用TonClient获取交易数据,但使用TonKeeper钱包在扫描器显示的哈希时,出现了“Invalid hash”错误。另外有两个疑问:

  1. Logical Time(lt)具体指什么?
  2. 是否可以仅通过交易哈希,无需lt和地址来获取交易数据?

附测试网交易哈希:6f97ca02d8f20151210ca2bef32340804214e4f74eebf6a9edf13b727ac2527e

相关代码:

// 获取交易数据
;(async () => {
    const lt = String(1)
    const senderAddress = Address.parse('0QBh14OFHZqXqMyAHUio8EZ9FAf5smnkcmb0j533aHtFNcsF')

    const tonTransferTx = '6f97ca02d8f20151210ca2bef32340804214e4f74eebf6a9edf13b727ac2527e'
    const transactionData = await client.getTransaction(senderAddress, lt, tonTransferTx)

    console.log('Transaction Data:', transactionData)
})()

错误信息:

data: { ok: false, error: 'Invalid hash', code: 503 }
  },
  status: 

问题解答

1. 修复“Invalid hash”错误

你遇到的错误有两个核心原因:

  • TonClient的getTransaction方法要求传入Base64编码的交易哈希,但你用的是扫描器显示的十六进制格式哈希,格式不匹配导致校验失败。
  • 代码中硬编码的lt: String(1)完全错误,lt必须是对应交易的实际逻辑时间,不能随意填写。

修正后的代码示例:

// 十六进制哈希转Base64
function hexToBase64(hexStr) {
    return Buffer.from(hexStr, 'hex').toString('base64')
}

;(async () => {
    // 从扫描器交易详情中获取正确的lt值,示例为假设值,需替换为实际值
    const lt = "1686794800000"
    const senderAddress = Address.parse('0QBh14OFHZqXqMyAHUio8EZ9FAf5smnkcmb0j533aHtFNcsF')

    const txHex = '6f97ca02d8f20151210ca2bef32340804214e4f74eebf6a9edf13b727ac2527e'
    const txBase64 = hexToBase64(txHex)
    const transactionData = await client.getTransaction(senderAddress, lt, txBase64)

    console.log('Transaction Data:', transactionData)
})()

2. Logical Time(lt)的定义

LT是TON区块链中用于标识单地址交易顺序的递增数值:

  • 每个地址的交易都有独立的lt序列,lt值越大,交易发生时间越晚。
  • 它的作用是解决同一地址下多笔交易的唯一性标识问题,确保交易顺序可追溯,避免歧义。

3. 能否仅通过交易哈希获取数据

目前TonClient原生的getTransaction方法必须同时提供地址、lt和哈希三个参数,无法仅靠哈希直接查询。但可以通过以下间接方式实现:

  • 调用TON官方API的搜索接口,通过哈希查询交易的基础信息(包含地址和lt),再用这两个参数调用getTransaction。
  • 使用第三方索引服务的API,直接通过哈希获取完整交易数据。

内容的提问来源于stack exchange,提问作者BeycanDeveloper

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 01:30:16