Acabo de implementar el contrato NFT más simple en la red principal del polígono en "0xda528AccACF4eec33EF21c6078273eBfe52609df". Puedo acuñar algún token usando Alchemy como proveedor web3 y lo hago en una aplicación simple de Nodejs.
Ahora, quería usar una aplicación Angular independiente para verificar si el usuario posee uno o más tokens con Metamask como proveedor web3. Obtengo el proveedor de window.ethereum después de comprobar que el usuario está conectado a la cadena de polígonos con su Metamask. Cada vez que intento llamar a un método web3 como:
const contract = new this.web3.eth.Contract(HuntingJSON.abi, "0xda528AccACF4eec33EF21c6078273eBfe52609df"); const name = await contract.methods.name().call(function(data: any,error: any) { console.log(data); console.log(error); }); Recibo este tipo de error: Uncaught (in promise): TypeError: process.nextTick is not a function
¿Es posible llamar a un contrato con un proveedor de Metamask? Me imaginé que un método como propietarioDe(), propietario() o nombre() no necesitaría una transacción de envío, ¿me equivoco?
Por otro lado, puedo llamar con éxito a la API JSON RPC desde Metamask o Ethereum como: window.ethereum.request({method: 'eth_requestAccounts'});
¿Hay alguna forma de verificar si un usuario posee un tokenID NFT con Metamask como proveedor? Y cómo ?
¡Gracias!