I am trying to build a list of the top holders for several coins, excluding exchanges addresses and I would like to know if it is possible to do that? Here is my code:
import requests
ripio_credit_network = {
'name': 'ripio-credit-network',
'address': '0xF970b8E36e23F7fC3FD752EeA86f8Be8D83375A6'
}
ripio_contract_adress = ripio_credit_network['address']
num_of_accounts_to_track = 42
target_domain = 'https://api.ethplorer.io/'
def top_token_holders(num_of_holders, coin_address):
"""take a coin adress and return the top X addresses as a reponse.json from api"""
top_token_request = f"{target_domain}" \
f"getTopTokenHolders/" \
f"{coin_address}?" \
f"apiKey={freekey}" \
f"&limit={num_of_holders}" \
response = requests.get(top_token_request)
return response.json()
def top_holders_list(number_to_track, coin_address):
"""take addresses and share from an api call & returns list of dictionaries"""
the_data = top_token_holders(number_to_track, coin_address)
top_coin_holders = []
cols = ['address', 'share']
for i in range(0, number_to_track):
new_empty_dict = dict()
for col in cols:
if col == 'address':
new_empty_dict[col] = the_data['holders'][i]['address']
elif col == 'share':
new_empty_dict[col] = the_data['holders'][i]['share']
top_coin_holders.append(new_empty_dict)
return top_coin_holders
top_holders_ripio = top_holders_list(num_of_accounts_to_track, ripio_contract_adress)
This returns the top holders and I would like to filter out the exchanges addresses (like showing in this image)Ripio top holders showing exchange addresses
Is there a way to do that?