JSON RPC obtenir des jetons à l’adresse

Développeur Melbourne

JSON RPC obtenir des jetons à l’adresse


Obtenir un équilibre pour un jeton à partir du JSON RPC est simple. C’est tout ce dont j’ai besoin pour obtenir un équilibre Tronix. La partie « 0xf230b790e05390fc8295f4d3f60332c93bed42e2 » est l’adresse du contrat pour Tronix.

 {"id":1,"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0xf230b790e05390fc8295f4d3f60332c93bed42e2","data":"[ADDRESS ABI]"},"latest"]} 

Mais, comment puis-je vérifier quels contrats sont à une adresse?

Si je fais un eth_getTransactionReceipt sur une transaction, je peux obtenir l’adresse du contrat, mais je dois d’abord savoir quelles sont les transactions à l’adresse. Je ne peux pas comprendre celui-ci … Comment puis-je savoir quelles transactions ont atteint une adresse?

Cet appel d’API Ethsplorer est exactement ce que je recherche, mais je ne peux pas comprendre comment le faire avec le JSON RPC: https://api.ethplorer.io/getAddressInfo/0xff71cb760666ab06aa73f34995b42dd4b85ea07b?apiKey=freekey

En lisant un peu, beaucoup de gens disent que je dois scanner la Blockchain entière, mais je suis sûr à 90% qu’il est possible de réaliser ce que je recherche parce que MyEtherWallet le fait. Lorsque je connecte mon Trezor, il fait l’appel eth_call ci-dessus et transmet l’adresse du contrat Tronix à l’appel, il sait donc qu’il y a Tronix à l’adresse, mais comment le sait-il? Il est clair que MEW n’analyse pas l’intégralité de la chaîne de blocs lorsque je recherche mon portefeuille, alors soit ils ont compris comment le faire avec le JSON RPC normal avec un appel que je ne comprends pas correctement, soit ils font un appel secret à certains serveurs indexés par adresses.

Andromelus

Je ne comprends pas vraiment ce que tu veux. Voulez-vous connaître une adresse de contrat?

Développeur Melbourne

Non. Je veux savoir quels jetons se trouvent à une adresse donnée. Voir l’exemple ethsplorer ci-dessus.

Réponses


 Svante

Techniquement, les jetons ERC-20 ne sont pas à l’adresse du propriétaire. Si vous avez un token, votre adresse est enregistrée dans le contrat intelligent du token ERC20 sous la forme d’une liste de [address]: [balance] .

Pour vérifier le registre et voir votre solde, vous avez besoin de l’adresse du contrat intelligent de jeton ERC20.

Tout le monde peut créer un jeton ERC20, et il n’y a pas de moyen décentralisé facile de les répertorier tous.

Vous pouvez collecter toutes les adresses répertoriées sur https://etherscan.io/tokens et écrire un script qui vérifie votre équilibre sur chacune d’entre elles, mais vous devrez garder la liste à jour lorsque de nouveaux jetons ERC-20 sont lancés.

Encore plus ambitieux, vous pouvez configurer un client Ethereum et analyser toutes les créations de contrat, en définissant un filtre ou un modèle pour identifier les contrats ERC-20. Mais c’est très difficile de réussir.

Développeur Melbourne

Eh bien, ça craint vraiment. Je pense que ce que j’entends, c’est que, fondamentalement, pour voir quels jetons se trouvent à une adresse donnée, je devrais télécharger la blockchain entière et mettre en place une base de données indexée. Je suppose que c’est ce qu’Ethsplorer a fait. Vous pouvez voir un exemple de ce que j’essaie de réaliser ici: api.ethplorer.io/getAddressInfo/… . Cet appel vous donne les jetons à une adresse donnée.

Développeur Melbourne

Mais, je doute également que cela soit complètement vrai, car MyEtherWallet peut détecter quels jetons se trouvent à une adresse ETH sans parcourir tous les jetons connus. Si ce que vous dites est vrai, MyEtherAPI devrait être un écart complet par rapport au JSON RPC standard.

Développeur Melbourne

J’ai vidé mon cache de navigation, activé Fiddler pour suivre le trafic, je suis entré dans MEW, j’ai branché mon Trezor et MEW a montré mon équilibre TRX. Il a fait le JSON RPC dans le poste supérieur pour obtenir l’équilibre TRX. Comment a-t-il su que j’avais TRX? Fait-il une indexation secrète par adresse IP?

Andromelus

@MelbourneDeveloper Dans mon portefeuille éther, ils scannent la transaction de l’adresse et détectent le jeton lié. Vous n’avez pas d’autre choix. C’est comme ça que ça marche.

Svante

Le moyen le plus simple que je pense le plus est de simplement conserver manuellement une liste des 100 à 500 premiers jetons par capitalisation boursière et leurs adresses de contrat. Ensuite, scannez chacun de ces contrats pour une adresse de portefeuille donnée et affichez le résultat. TRX serait évidemment dans cette liste et cela expliquerait également pourquoi Etherscan n’affiche que 511 jetons dans leur liste de jetons: etherscan.io/tokens

 

#à, des, jetons, JSON?, l’adresse, obtenir, RPC:

 

yahoo

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *