如何通过 TON 区块链哈希获取交易数据

问题描述 投票:0回答:1

我尝试使用 TonClient,但当我尝试扫描仪中显示的 TonKeeper 钱包的哈希值时,出现无效哈希错误。

逻辑时间(lt)到底是什么?有没有办法只用交易哈希来获取交易数据而不使用lt和地址?

https://testnet.tonscan.org/tx/6f97ca02d8f20151210ca2bef32340804214e4f74eebf6a9edf13b727ac2527e

// get tx data
;(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: 
blockchain ton
1个回答
0
投票

没有LT就无法获取交易数据。

我找到了一个方法,可以从钱包中获取最后一笔交易的数据,从那里你可以得到交易的LT:

const state = await client.getContractState(walletAddress);
const { lt: lastLt, hash: lastHash } = state.lastTransaction;
const lastTx = await client.getTransaction(walletAddress, lastLt, lastHash);

因此,lastTX 将是钱包中最后一笔交易的数据

如果这对您不起作用,您可以尝试 client.getTransactions() 方法,您可以仅传递钱包地址并获取最后 10 笔交易作为响应

© www.soinside.com 2019 - 2024. All rights reserved.