如何将TRC20交易发送到地址

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

我正在使用tron Web查询某个地址的交易,但是它不返回发送到该地址的交易的令牌是TRC20的交易。

这不起作用。我想在某个地址上获取交易,并同时获取TRX,trc10和trc20交易。

我在做什么错或怎么做?

这是我的代码块:

  tronWeb.setDefaultBlock("latest");
  var result = await tronGrid.account.getTransactions(address, {
    only_confirmed: true,
    only_to: true,
    limit: 10
  });
  console.log(JSON.stringify(result));
})();```
blockchain tron tronweb
1个回答
0
投票

[经过大量研究,我发现可以轻松地定期查询合同事件以获取该合同地址上的交易,然后您可以针对正在查看的地址对其进行过滤,因为您无法通过trongrid / tronweb获得一个Webhook或websocket实施。

这里是我用来实现此目的的示例文件,即使监视具有不同合同地址的文件,它也非常适合监视许多地址。

注意:在我自己的实现中,此节点文件是从另一个文件调用的,而其他物流则在另一个文件中处理,但是在下面,您将看到我如何查询指定合同发出的转移事件

const TronWeb = require("tronweb");
const TronGrid = require("trongrid");

const tronWeb = new TronWeb({
  fullHost: "https://api.trongrid.io"
});
const tronGrid = new TronGrid(tronWeb);
const argv = require("minimist")(process.argv.slice(2));
var contractAddress = argv.address;
var min_timestamp = Number(argv.last_timestamp) + 1; //this is stored for the last time i ran the query
(async function() {
  tronWeb.setDefaultBlock("latest");
  tronWeb.setAddress("ANY TRON ADDRESS"); // maybe being the one making the query not necessarily the addresses for which you need the transactions

  var result = await tronGrid.contract.getEvents(contractAddress, {
    only_confirmed: true,
    event_name: "Transfer",
    limit: 100,
    min_timestamp: min_timestamp,
    order_by: "timestamp,asc"
  });
  result.data = result.data.map(tx => {
    tx.result.to_address = tronWeb.address.fromHex(tx.result.to); // this makes it easy for me to check the address at the other end
    return tx;
  });
  console.log(JSON.stringify(result));
})();

您可以自定义传递给tronGrid.contract.getEvents方法的配置数据。取决于您正在监视的合同交易的频率,您应该DYOR知道在什么时间间隔对您来说最大以及您应该通过哪个限制值。

请参阅https://developers.tron.network/docs/trongridjs以获取详细信息。

我希望这对某人有帮助

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