Я хочу получить метку времени события.
Как я могу получить время запуска события, если данные события не содержат значения времени?
Вы можете сделать это, проверив метку времени блока, в который было включено событие. Для чего-то вроде web3.js вы можете использовать getBlock
:
web3.eth.getBlock(blockHashOrBlockNumber [, returnTransactionObjects] [, callback])
Кроме того, вы можете включить метку времени в само событие. Это будет выглядеть так:
pragma solidity ^0.5.5;
contract MyEvetTest {
event MyEvent(uint256 timestamp);
function myFunction() public {
emit MyEvent(block.timestamp);
}
}
Если вы не сохранили метку времени в событии, вы можете проанализировать это так
const getTimeByBlock = async(txHash) => {
const blockN = await web3.eth.getTransaction(txHash)
const blockData = await web3.eth.getBlock(blockN.blockNumber)
return blockData.timestamp
}
КОРОЛЬ ПЛАМЕНИ
Шейн Фонтейн
КОРОЛЬ ПЛАМЕНИ
Шейн Фонтейн