gpt4 book ai didi

node.js - Web3.js 脚本在监听 CreatedPairs 时退出

转载 作者:行者123 更新时间:2023-12-05 05:44:38 31 4
gpt4 key购买 nike

我正在尝试创建一个简单的脚本来测试 Web3.js CreatedPairs 的事件监听功能。但是,我的脚本运行一次代码然后退出,而不是继续监听创建的对,我不知道为什么。

const Web3 = require('web3')
const web3 = new Web3(Web3.givenProvider || 'https://mynodeishere');

const IUniswapV2Factory = require("@uniswap/v2-core/build/IUniswapV2Factory.json")
const UNI_FACTORY_ADDRESS = '0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f'
const uFactory = new web3.eth.Contract(IUniswapV2Factory.abi, UNI_FACTORY_ADDRESS)


const main = async () => {

// Create event listener to listen to PairCreated
uFactory.events.PairCreated({}, async (error, event) => {

console.log(`New pair detected...\n`)

})
}

main()

最终发生的事情是当我运行 node ./myapp.js 时。代码进入并记录 New pair detected... 到控制台,然后退出。这种情况立即告诉我,当检测到新对时它不会执行,而只是单步执行代码。

但是,我预计会发生的情况是,应用程序仅在检测到新对时继续运行并记录到控制台。我确信我忽略了一些小东西,但我们将不胜感激。

最佳答案

在此上下文中,Web3.givenProvidernull,因此使用 HTTP 提供程序。

要能够订阅事件,您需要使用 WSS 提供程序。

// example connection to a WSS provider
const web3 = new Web3('wss://mainnet.infura.io/ws/v3/<yourtoken>');

关于node.js - Web3.js 脚本在监听 CreatedPairs 时退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71563225/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com