La arquitectura de mi proyecto NFT de tal manera que solo cuando se produce un evento de acuñación, se emite un evento minted y luego quiero escuchar ese evento, así que desencadeno una carga del contenido JSON que luego sería visible para el propietario del token (ya que cualquiera potencialmente puede acceder al contenido de todos los tokens básicamente yendo a baseURI/tokenID y quiero mantener en secreto la rareza de los tokens hasta que se acumulen).
Quiero crear una función que escuche continuamente nuevos eventos del evento minted . Estoy tratando de acceder a nuevos eventos usando la siguiente implementación, porque no pude encontrar una implementación que escuche continuamente los eventos del contrato.
async function listener() { events = nftContract.getPastEvents("minted",{fromBlock: 1}, function(err,res) { console.log(res); })¿Cuál es la mejor manera de crear una función que continúe sondeando eventos del contrato?
El código completo de la solución es así:
const ethers = require('ethers'); const CONTRACT_ADDRESS = "0x10820dB......"; const ABIJSON = JSON.parse('{"_format": "hh-sol-artifact-1", "contractName": "testcontract", "....}') provider = new ethers.providers.AlchemyProvider("ropsten"); const contract = new ethers.Contract(CONTRACT_ADDRESS, ABIJSON.abi, provider); contract.on("eventName", ( caller,tokenID) => { //this section is called every time an event is emitted })