
Photo by
juritakai
2つのトークンを売買しているウォレットアドレスを抽出するコード
Aトークンを売買していてかつBトークンを売買してるウォレットアドレスを
抽出するコードを作りました。
ETHチェーンが対象です。
"TOKEN_A_CONTRACT_ADDRESS_HERE"と"TOKEN_B_CONTRACT_ADDRESS_HERE"を対象となるトークンのコントラクトアドレスに置き換えてください。
"YOUR_API_KEY"をEtherscanから取得したAPIキーに置き換えてください。
Twitterアカウントのアドレスをとくてぃ。。。
import requests
def get_token_transactions(contract_address):
url = f"https://api.etherscan.io/api?module=account&action=tokentx&contractaddress={contract_address}&startblock=0&endblock=999999999&sort=asc&apikey=YOUR_API_KEY"
response = requests.get(url)
transactions = response.json().get('result', [])
return transactions
def extract_wallet_addresses(transactions):
addresses = set()
for transaction in transactions:
addresses.add(transaction['from'])
addresses.add(transaction['to'])
return addresses
def main():
token_a_contract = "TOKEN_A_CONTRACT_ADDRESS_HERE"
token_b_contract = "TOKEN_B_CONTRACT_ADDRESS_HERE"
token_a_transactions = get_token_transactions(token_a_contract)
token_b_transactions = get_token_transactions(token_b_contract)
token_a_addresses = extract_wallet_addresses(token_a_transactions)
token_b_addresses = extract_wallet_addresses(token_b_transactions)
common_addresses = token_a_addresses.intersection(token_b_addresses)
print("Wallet addresses trading both Token A and Token B:")
for address in common_addresses:
print(address)
if __name__ == "__main__":
main()