Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

727
Vistas
Obtenga todos los NFT propiedad de la dirección de la billetera con web3.js

Soy nuevo en blockchain.

Investigué un poco y estos son mis pasos para obtener una lista de NFT propiedad de cierta billetera con web3.js

 balance = ERC721.methods.balanceOf(walletAddress).call(); objects = []; for (i = 0; i < balance; i++) { tokens.push(await ERC721.methods.tokenOfOwnerByIndex(walletAddress, i).call()); } for(i = 0; i < tokens.length; i++){ objects.push(await ERC721.methods.tokenURI(tokenIdList[i]).call()); }

Puedo obtener una lista de URI de token ERC721 con los métodos anteriores, pero el rendimiento es realmente bajo. Me pregunto cómo OpenSeas puede lograr eso con un rendimiento a la velocidad de la luz en la misma característica.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Como en la mayoría de los casos, almacenar o almacenar en caché los datos reduce el tiempo de carga.

Puede almacenar el valor de los objects en la base de datos (como MongoDB) y actualizarlo regularmente, si tiene una cantidad manejable de elementos de walletAddress , o solo para algunos elementos de alta prioridad.

Incluso puede suscribirse a registros de eventos (en su caso, el evento de Transfer ) en los contratos de token y no tener que sondear los cambios. (Tal vez la encuesta sea solo como una alternativa en caso de que falle su suscripción).

Para el resto de elementos de walletAddress (los de menor prioridad), puede almacenarlos en caché en un almacenamiento temporal (como Redis). Entonces, la primera carga será lenta (porque se cargará desde el recurso externo, como lo está haciendo su fragmento actual), y las otras cargas (hasta que expire el TTL) solo se cargarán desde el caché, sin presionar el recurso externo.

over 4 years ago · Santiago Trujillo Denunciar

0

esto devolverá todos los tokens propiedad de esta billetera en una matriz sin tener que hacer un bucle:

 await ERC721.methods.userOwnedTokens.call(walletAddress)

¡buena suerte! espero que esto haya ayudado

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda