I'm using web3 to get the balance of a single token/contract address within my wallet address.
If I have an array of tokens eg
[
"0x2a9718deff471f3bb91fa0eceab14154f150a385",
"0xad90c05bc51672eedfee36e58b3ff1a78bbc146d",
"0x33a3d962955a3862c8093d1273344719f03ca17c",
"0x85102c0062aa918cb9e26d94a284aafca602df13"
]
Is there a possibility to pass that array into a single call that retrieves the balance for each? Or would we need to iterate through the list one by one?
Best Answer
You cannot do this through regular JSONRPC calls, but it is possible to limit the number of calls needed by using a smart contract. You can use the library
eth-scan
to do this for you. Simply pass in the array of addresses, and it will fetch the balance for each token through theeth-scan
smart contract.By default, the library will do a single call for every 1,000 tokens, but this is configurable.
For example:
Disclaimer: I am the author of
eth-scan
.