Spaces:
Build error
Build error
| import requests | |
| import pandas as pd | |
| import json | |
| import os | |
| from dotenv import load_dotenv | |
| # Load environment variables | |
| load_dotenv() | |
| API_KEY = os.getenv('API_KEY_ETHERSCAN') | |
| URL_ETHERSCAN = os.getenv('URL_ETHERSCAN') | |
| def get_token_transactions(address, action): | |
| params = { | |
| 'module': 'account', | |
| 'action': action, # tokentx for ERC20, tokennfttx for ERC721, token1155tx for ERC1155 | |
| 'address': address, | |
| 'startblock': 0, | |
| 'endblock': 99999999, | |
| 'sort': 'asc', | |
| 'apikey': API_KEY | |
| } | |
| response = requests.get(URL_ETHERSCAN, params=params) | |
| if response.status_code == 200: | |
| data = response.json() | |
| return data['result'] | |
| else: | |
| print(f"Error fetching transactions for address {address} with action {action}") | |
| return [] | |
| def combine_token_transactions(address): | |
| erc20_transactions = get_token_transactions(address, 'tokentx') | |
| #erc721_transactions = get_token_transactions(address, 'tokennfttx') | |
| #erc1155_transactions = get_token_transactions(address, 'token1155tx') | |
| combined_transactions = erc20_transactions #+ erc721_transactions + erc1155_transactions | |
| return combined_transactions | |
| def save_transactions_to_csv(transactions, influencer_name): | |
| df = pd.DataFrame(transactions) | |
| df.to_csv(f"output/interactions_{influencer_name}.csv", index=False) | |
| if __name__ == "__main__": | |
| # Load influencers | |
| with open("ressources/dict_influencers_addr.json", "r") as file: | |
| influencers = json.load(file) | |
| # Extract and save interactions for all influencers | |
| for name, address in influencers.items(): | |
| transactions = combine_token_transactions(address) | |
| save_transactions_to_csv(transactions, name) | |