如何将 TRC20 交易发送到地址
How to get TRC20 transactions to an address
我正在使用 tron web 查询一个地址的交易,但它不会 return 发送到该地址的交易,其中令牌转移是 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));
})();
经过大量研究后,我发现可以轻松地不时查询合约事件以获取该合约地址上的交易,然后您可以根据您正在观看的地址过滤它,因为您无法通过您的网站获取 webhook 或 websocket trongrid/tronweb 实施。
这是我用来实现此目的的示例文件,它非常适合监控多个地址,即使是不同的合约地址。
注意:在我自己的实现中,这个节点文件是从另一个文件中调用的,其他物流在另一个文件中处理,但下面是我如何查询指定合约发出的传输事件
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了解详情。
我希望这对某人有所帮助
我找到了一个可以进行 TRC20 交易的API,但我还没有在 webtron 中找到实现。
https://api.shasta.trongrid.io/v1/accounts/address/transactions
相关文档:
https://developers.tron.network/reference#transaction-information-by-account-address
我正在使用 tron web 查询一个地址的交易,但它不会 return 发送到该地址的交易,其中令牌转移是 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));
})();
经过大量研究后,我发现可以轻松地不时查询合约事件以获取该合约地址上的交易,然后您可以根据您正在观看的地址过滤它,因为您无法通过您的网站获取 webhook 或 websocket trongrid/tronweb 实施。
这是我用来实现此目的的示例文件,它非常适合监控多个地址,即使是不同的合约地址。
注意:在我自己的实现中,这个节点文件是从另一个文件中调用的,其他物流在另一个文件中处理,但下面是我如何查询指定合约发出的传输事件
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了解详情。
我希望这对某人有所帮助
我找到了一个可以进行 TRC20 交易的API,但我还没有在 webtron 中找到实现。
https://api.shasta.trongrid.io/v1/accounts/address/transactions
相关文档: https://developers.tron.network/reference#transaction-information-by-account-address