Tengo un contrato ethers con el que hice una transacción:
const randomSVG = new ethers.Contract(RandomSVG.address, RandomSVGContract.interface, signer) let tx = await randomSVG.create()Tengo un evento con esta transacción:
function create() public returns (bytes32 requestId) { requestId = requestRandomness(keyHash, fee); emit requestedRandomSVG(requestId); }Sin embargo, no puedo ver los registros en el recibo de la transacción.]( https://docs.ethers.io/v5/api/providers/types/#providers-TransactionReceipt )
// This returns undefined console.log(tx.logs)Cuando crea una transacción con Ethers.js, obtiene una TransactionResponse que es posible que aún no esté incluida en la cadena de bloques. Por lo tanto, no sabe qué registros se emitirán.
En su lugar, desea esperar hasta que se confirme la transacción y obtenga un TransactionReceipt . En este punto, la transacción se incluyó en un bloque y puede ver qué eventos se emitieron.
const randomSVG = new ethers.Contract(RandomSVG.address, RandomSVGContract.interface, signer) const tx = await randomSVG.create() // Wait until the tx has been confirmed (default is 1 confirmation) const receipt = await tx.wait() // Receipt should now contain the logs console.log(receipt.logs)