我使用ethersjs和bscscan尝试并订阅了PairCreated工厂合同中的PancakeSwap事件。
我执行以下操作并使用节点运行它:
const ethers = require('ethers');
const { BscscanProvider } = require("@ethers-ancillary/bsc");
const addresses = {
WBNB: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",
factory: "0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73",
}
const mnemonic = ""
api_token = ""
const provider = new BscscanProvider(null, api_token)
const wallet = ethers.Wallet.fromMnemonic(mnemonic);
const account = wallet.connect(provider)
const factory = new ethers.Contract(
addresses.factory,
[
'event PairCreated(address indexed token0, address indexed token1, address pair, uint)',
'function balanceOf(address owner) view returns (uint256)'
],
account
);
console.log("Started.")
factory.on("PairCreated", async (token0, token1, addressPair, length) => {
console.log("found new token")
})脚本永远运行,但是监听器永远不会被触发,因为如果我去bscscan检查,事件基本上总是会触发的。
发布于 2022-01-17 11:52:55
它适用于web3 py。
contract.events.PairCreated.createFilter(fromBlock='latest') = event_filter
https://ethereum.stackexchange.com/questions/119039
复制相似问题