我正在使用useDapp react来使用useContractFunction调用一个可靠的函数。
const { state, send, events } = useContractFunction(CreateERC20Contract, 'createToken', { transactionName: 'create a new erc20 token' })我希望使用useDapp或任何其他可以与useDapp集成的库来侦听smart契约在React前端创建的事件。如果有人想知道如何使用useDapp收听可靠的合同事件,我将不胜感激。
发布于 2022-06-17 08:23:16
UseDapp最近增加了一个名为useLogs的钩子。
我邀请您参加瞧一瞧,看看它是否适用于您的用例。
示例
这将从一个Transfer契约的实例中下载所有的token事件,并打印出每个事件的事务哈希和数据。
const logs = useLogs(
{
contract: token,
event: 'Transfer',
args: [],
},
{
fromBlock: 0,
toBlock: 'latest',
}
)
logs?.value?.forEach((log) => {
console.log(log.transactionHash)
console.log(log.data)
})最好使用fromBlock和toBlock参数缩小检查块的数量,否则对于RPC提供程序来说,查询可能会变得太大。您还可以使用blockHash来针对特定的块。
发布于 2022-03-17 08:38:45
收听事件的最佳方法是使用图。
https://stackoverflow.com/questions/71509203
复制相似问题