要在python中为api查询列出辅助编写功能

问题描述 投票:1回答:1

我编写了一个简单的应用程序,以生成一个64字符的十六进制数,转换为专用地址,然后通过Etherscan检查余额。它没有问题。该API还允许检查以20为一组的地址,并以逗号分隔。我知道我需要将accAddress 20x的输出写到列表中,我只是不知道如何。非常感谢任何指导。

import os
from ethereum import utils
import time
import urllib.request
import json
import secrets


hex_number = secrets.token_hex(32)
rawAddress = utils.privtoaddr(hex_number)
accAddress = utils.checksum_encode(rawAddress)

url = "https://api.etherscan.io/api?module=account&action=balance&address=" + accAddress + "&tag=latest&apikey=YOURAPIKEY"
response = urllib.request.urlopen(url)
data = json.loads(response.read())
print (hex_number + "\n" + accAddress + ": " + data['result']) 
python-3.x
1个回答
0
投票

经过很多帮助,这对我有用。

import os
from ethereum import utils
import time
import urllib.request
import json
import secrets

# Initialize main variables 
addressCount = 20 # Address number by request
allAddress = []
allHexNumber = {}

for i in range(addressCount):
    # Generate random eth address
    hex_number = secrets.token_hex(32)
    rawAddress = utils.privtoaddr(hex_number)
    accAddress = utils.checksum_encode(rawAddress)

# Add address to list with its hex number
allAddress.append(accAddress)
allHexNumber[accAddress] = hex_number

# Join all the addresses by a ","
allAddressStr = ",".join(allAddress)

# Make the request
url = "https://api.etherscan.io/api?module=account&action=balancemultiaddress=" + allAddressStr + "&tag=latest&apikey=YOURAPIKEY"
response = urllib.request.urlopen(url)
data = json.loads(response.read())

# Get and display the result for each balance with its hex number
allResults = data['result']

for result in allResults:
    address = result['account']
    hex_number = allHexNumber[address]
    balance = result['balance']
    print(hex_number + "\n" + address + ": " + balance) 
© www.soinside.com 2019 - 2024. All rights reserved.