Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

728
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!