小编Ank*_*gon的帖子

尝试使用 web3.py 库在以太坊中调用 balanceOf 函数但出现错误

    import json
    from web3 import Web3
    infura_url = "https://mainnet.infura.io/v3/5b314a9b373442fc8ed0c9cd184e838f"
    web3 = Web3(Web3.HTTPProvider(infura_url))
    abi=json.loads('[{"constant":true,"inputs":..........] large array')
    address = "0xd26114cd6EE289AccF82350c8d8487fedB8A0C07"
    contract = web3.eth.contract(address=address, abi=abi)
    totalSupply = contract.functions.totalSupply().call()
    print(totalSupply)
    print(contract.functions.name().call())
    print(contract.functions.symbol().call())
    balance = contract.functions.balanceOf('0x2551d2357c8da54b7d330917e0e769d33f1f5b93').call()
    print(web3.fromWei(balance, 'ether'))

Run Code Online (Sandbox Code Playgroud)

但是当我运行此代码时,我收到此错误

web3.exceptions.InvalidAddress: ('Web3.py 只接受校验和地址。给你这个非校验和地址的软件应该被认为是不安全的,请将它作为他们平台上的错误提交。尝试使用 ENS 名称代替。或者,如果您必须接受较低的安全性,请使用 Web3.toChecksumAddress(lower_case_address).', '0x2551d2357c8da54b7d330917e0e769d33f1f5b93')--> 错误在这一行

python ethereum web3-donotuse

3
推荐指数
1
解决办法
3519
查看次数

标签 统计

ethereum ×1

python ×1

web3-donotuse ×1