Как можно изменить следующий запрос, чтобы он извлекал события только за последние два дня:
const events= await MyContract.getPastEvents("eventName", {
fromBlock: 0,
toBlock: "latest"
});
Каждые два дня создается примерно 12 343 блока, поэтому, если найти текущий номер блока и вычесть это количество, получится целевой номер блока. Передайте это как fromBlock
параметр функции getPastEvents
, чтобы ограничить этот диапазон:
const events= await MyContract.getPastEvents("EventName", {
fromBlock: (await web3.eth.getBlockNumber()) - 12343,
toBlock: "latest"
});
const getBlock = async () => {
const result = await web3.eth.getBlockNumber()
return web3.utils.hexToNumberString(result)
}
const calculated = getBlock().then((res) => { const calculated = Number(res) - 12343; return calculated});
const options =
{
address: getPair(tokenA, tokenB),
fromBlock: calculated,
toBlock: 'latest'
}
Макспеинас
fromBlock
.Венката Горантла