Quiero obtener la marca de tiempo de un evento.
¿Cómo puedo activar la hora del evento si los datos del evento no contienen ningún valor de tiempo?
Puede hacer esto verificando la marca de tiempo del bloque en el que se incluyó el evento. Para algo como web3.js, puede usar getBlock
:
web3.eth.getBlock(blockHashOrBlockNumber [, returnTransactionObjects] [, callback])
Además, puede incluir la marca de tiempo en el evento mismo. Se vería así:
pragma solidity ^0.5.5;
contract MyEvetTest {
event MyEvent(uint256 timestamp);
function myFunction() public {
emit MyEvent(block.timestamp);
}
}
Si no almacenó la marca de tiempo en el evento, puede analizar de esta manera
const getTimeByBlock = async(txHash) => {
const blockN = await web3.eth.getTransaction(txHash)
const blockData = await web3.eth.getBlock(blockN.blockNumber)
return blockData.timestamp
}
REY DE LA LLAMA
shane fontaine
REY DE LA LLAMA
shane fontaine