• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

206
Vistas
Solana verifica todos los saldos de tokens spl de una billetera

Estoy usando solana json rpc api para verificar el saldo del token de una billetera desde mi aplicación javascript. He usado la función para ello así

 const getTokenBalance = async (walletAddress, tokenMintAddress) => { const response = await axios({ url: `https://api.mainnet-beta.solana.com`, method: "post", headers: { "Content-Type": "application/json" }, data: { jsonrpc: "2.0", id: 1, method: "getTokenAccountsByOwner", params: [ walletAddress, { mint: tokenMintAddress, }, { encoding: "jsonParsed", }, ], }, }); if ( Array.isArray(response?.data?.result?.value) && response?.data?.result?.value?.length > 0 && response?.data?.result?.value[0]?.account?.data?.parsed?.info?.tokenAmount ?.amount > 0 ) { return ( Number( response?.data?.result?.value[0]?.account?.data?.parsed?.info ?.tokenAmount?.amount ) / 1000000000 ); } else { return 0; } };

Sin embargo, quiero obtener todo el saldo de tokens con una llamada en lugar de pedir un saldo de tokens dando una dirección de menta para cada token, lo que hace que mi API responda como 10 minutos, ¿hay alguna forma amigable de hacerlo?

Vi que Covalent api puede hacerlo para verificar el saldo de la billetera ethereum, me pregunto cómo pueden hacerlo

almost 3 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

La mayoría de los RPC estándar aceptan solicitudes por lotes, debería poder enviar una matriz de todas las solicitudes que desee, tenga en cuenta que la respuesta también será una matriz.

 // For example const response = await axios({ url: `https://api.mainnet-beta.solana.com`, method: "post", headers: { "Content-Type": "application/json" }, data: [ { jsonrpc: "2.0", id: 1, method: "getTokenAccountsByOwner", params: [ walletAddress, { mint: tokenMintAddress, }, { encoding: "jsonParsed", }, ], }, { jsonrpc: "2.0", id: 1, method: "getTokenAccountsByOwner", params: [ walletAddress2, { mint: tokenMintAddress2, }, { encoding: "jsonParsed", }, ], }, ] });
almost 3 years ago · Juan Pablo Isaza Denunciar

0

Como todos los tokens (que siguen el estándar) son "hijos" del Programa de tokens, puede obtenerlos todos con una sola llamada RPC:

 curl https://api.mainnet-beta.solana.com -X POST -H "Content-Type: application/json" -d ' { "jsonrpc":"2.0", "method":"getTokenAccountsByOwner", "params": [ "walletAddress", { "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" }, { "encoding": "jsonParsed" } ], "id":4 }
almost 3 years ago · Juan Pablo Isaza Denunciar

0

Si necesita obtener un saldo de su propio token, puede usar la API json rpc con la siguiente publicación.

 curl https://api.devnet.solana.com/ -X POST -H "Content-Type: application/json" -d ' { "jsonrpc": "2.0", "id": 1, "method": "getTokenAccountsByOwner", "params": [ "uja3w9XG1g6DQSVT6YASK99FVmdVwXoHVoQEgtEJdLv", { "mint": "7TMzmUe9NknkeS3Nxcx6esocgyj8WdKyEMny9myDGDYJ" }, { "encoding": "jsonParsed" } ] } '
almost 3 years ago · Juan Pablo Isaza 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda