Estoy usando la biblioteca de reacción useDapp para llamar a una función en Solidity usando useContractFunction.
const { state, send, events } = useContractFunction(CreateERC20Contract, 'createToken', { transactionName: 'create a new erc20 token' })Quiero escuchar los eventos creados por el contrato inteligente en el front-end de React usando useDapp o cualquier otra biblioteca que pueda integrar con useDapp. Estaré agradecido si alguien tiene una idea sobre cómo se pueden escuchar los eventos del contrato de solidez usando useDapp.
UseDapp tiene una adición reciente para esto, un gancho llamado useLogs .
Te invito a echar un vistazo y ver si funciona para tu caso de uso.
Esto descargará todos los eventos de Transfer de una instancia de un contrato de token e imprimirá el hash y los datos de la transacción para cada evento.
const logs = useLogs( { contract: token, event: 'Transfer', args: [], }, { fromBlock: 0, toBlock: 'latest', } ) logs?.value?.forEach((log) => { console.log(log.transactionHash) console.log(log.data) }) Es mejor reducir la cantidad de bloques que inspecciona utilizando los parámetros fromBlock y toBlock lo contrario, la consulta podría volverse demasiado grande para el proveedor de RPC. También puede usar blockHash para apuntar a un bloque específico.