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

如何查看TON Web的交易历史?附已完成转账代码示例

查看TON Web交易历史的实现方法

你可以通过TON官方提供的SDK或API节点来查询钱包的交易历史,以下是两种贴合你现有代码环境的实现方式:

方法一:通过钱包合约直接查询

利用TON Web的getTransactions方法,可直接从钱包合约获取交易记录,在你现有代码基础上添加如下逻辑即可:

// 假设已完成client和walletContract的初始化
const transactions = await walletContract.getTransactions({
  limit: 10, // 指定要获取的交易数量
  lt: 0, // 起始逻辑时间戳,0表示从最新交易开始查询
  hash: '' // 起始交易哈希,留空则从最新交易开始
});

// 遍历输出交易详情
transactions.forEach(tx => {
  console.log('交易哈希:', tx.hash);
  console.log('交易时间:', new Date(tx.date * 1000));
  console.log('转账金额:', tx.outMessages[0]?.value / 1e9, 'TON');
  console.log('接收地址:', tx.outMessages[0]?.destination);
  console.log('交易状态:', tx.status ? '成功' : '失败');
  console.log('---');
});

方法二:通过TON API节点查询

如果需要更灵活的筛选(比如按时间范围、交易类型过滤),可以直接调用TON公共API节点接口,示例代码如下:

const walletAddress = "你的钱包地址";
const apiEndpoint = "https://toncenter.com/api/v2";

const response = await fetch(`${apiEndpoint}/getTransactions?address=${walletAddress}&limit=10&sort=desc`);
const data = await response.json();

if (data.ok) {
  data.result.forEach(tx => {
    console.log('交易ID:', tx.transaction_id.hash);
    console.log('交易时间:', new Date(tx.utime * 1000));
    console.log('转账金额:', tx.out_msgs[0]?.value / 1e9, 'TON');
    console.log('目标地址:', tx.out_msgs[0]?.destination);
    console.log('---');
  });
}

注意事项

  • 调整limit参数可控制返回的交易数量,公共节点通常支持最大100条左右的单次查询
  • 交易金额的原始单位是纳TON,需除以1e9转换为标准TON单位
  • 公共API节点存在请求频率限制,高频查询建议搭建私有节点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 17:36:01