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

如何监听波场(Tron)区块链交易?解决订阅方法未定义等问题

波场(Tron)地址交易实时监听方案

问题根源

你用eventServer.subscribe报错是因为TronWeb的eventServer模块已被弃用,原生TronWeb也没有内置的WebSocket交易订阅方法;QuickNode的WebSocket需要配置正确的监听规则才能生效。

可行解决方案

方案一:TronGrid WebSocket API(官方推荐)

TronGrid提供稳定的WebSocket服务,可精准监听指定地址的收发交易:

  1. 先去TronGrid官网免费获取API密钥,然后用以下代码实现:
const apiKey = '你的TronGrid API密钥';
const tronWeb = new TronWeb({
  fullHost: 'https://api.trongrid.io',
  headers: { 'TRON-PRO-API-KEY': apiKey }
});

// 建立WebSocket连接
const ws = new WebSocket(`wss://api.trongrid.io/ws/v1?api_key=${apiKey}`);

ws.onopen = () => {
  // 发送订阅请求,替换为你要监听的地址(支持多个,用逗号分隔)
  const subscribeReq = JSON.stringify({
    topic: 'transactions',
    event: 'sentReceived',
    address: ['你的波场地址']
  });
  ws.send(subscribeReq);
  console.log('已订阅目标地址交易');
};

ws.onmessage = (msg) => {
  const data = JSON.parse(msg.data);
  if (data.data?.length) {
    console.log('新交易通知:', data.data[0]);
    // 这里可以加你的通知逻辑,比如弹窗、推送等
  }
};

ws.onerror = (err) => {
  console.error('WebSocket连接出错:', err);
};

ws.onclose = () => {
  console.log('连接断开,准备重连...');
  // 可选:添加自动重连逻辑,避免漏接交易
};

方案二:优化轮询方案(替代WebSocket)

如果WebSocket始终无法正常工作,可以用区块高度追踪+短轮询,减少无效请求:

let lastTrackedHeight = 0;

async function fetchNewTransactions() {
  try {
    const currentBlock = await tronWeb.trx.getCurrentBlock();
    const currentHeight = currentBlock.block_header.raw_data.number;

    if (currentHeight > lastTrackedHeight) {
      // 查询目标地址在新区块内的交易
      const txList = await tronWeb.trx.getTransactionsRelatedToAddress(
        '你的波场地址',
        'all',
        currentHeight - lastTrackedHeight
      );
      if (txList.length) {
        console.log('发现新交易:', txList);
      }
      lastTrackedHeight = currentHeight;
    }
  } catch (err) {
    console.error('查询交易失败:', err);
  } finally {
    // 每5秒查询一次,可根据需求调整间隔
    setTimeout(fetchNewTransactions, 5000);
  }
}

// 启动监听
fetchNewTransactions();

注意点

  • TronGrid免费额度足够个人使用,无需担心费用问题
  • WebSocket连接建议加自动重连逻辑,防止网络波动导致漏接
  • 轮询间隔不要过短,否则会触发API限流

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 10:05:17