gpt4 book ai didi

javascript - 从安全帽中的交易收据中获取事件

转载 作者:行者123 更新时间:2023-12-05 00:28:15 25 4
gpt4 key购买 nike

我有一个 ethers我与之进行交易的契约(Contract):

const randomSVG = new ethers.Contract(RandomSVG.address, RandomSVGContract.interface, signer)
let tx = await randomSVG.create()
我有一个与此交易有关的事件:
function create() public returns (bytes32 requestId) {
requestId = requestRandomness(keyHash, fee);
emit requestedRandomSVG(requestId);
}
但是,我在交易收据中看不到日志。]( https://docs.ethers.io/v5/api/providers/types/#providers-TransactionReceipt )
// This returns undefined
console.log(tx.logs)

最佳答案

当你用 Ethers.js 创建一个事务时,你会得到一个 TransactionResponse可能尚未包含在区 block 链中。因此它不知道将发出什么日志。
相反,您希望等到交易被确认并返回 TransactionReceipt .此时交易已包含在一个 block 中,您可以看到发出了哪些事件。

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)

关于javascript - 从安全帽中的交易收据中获取事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69013697/

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