【问题标题】:trying to call balanceOf function in ethereum using web3.py library but getting error尝试使用 web3.py 库在以太坊中调用 balanceOf 函数但出现错误
【发布时间】:2019-08-03 06:28:37
【问题描述】:
    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'))

但是当我运行这段代码时,我得到了这个错误

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

【问题讨论】:

  • 出错的那一行是什么?
  • balance=contract.functions.balanceOf('0x2551d2357c8da54b7d330917e0e769d33f1f5b93').call()
  • 你确定吗?在此页面:github.com/ethereum/web3.py/issues/740 看起来像 contract=web3.eth.contract(address=address,abi=abi)
  • 没有错误,其他功能正常
  • feromWei 函数 ?我在文档中没有看到这个功能?

标签: python ethereum web3


【解决方案1】:

可能的解决方案:

您没有显示您的 Web3 版本,此时 fromWei 功能已过时并已从文档中删除。

contract.functions.balanceOf('0x2551d2357c8da54b7d330917e0e769d33f1f5b93').call()

您在上述函数中遇到错误,因为您插入的地址不是校验和地址。如果你不明白什么是校验和地址,here你有一个很好的解释,在这种情况下该怎么办?显然您需要将您在contract.functions.balanceOf 上插入的地址转换为checksum address

address2 = Web3.toChecksumAddress('0x2551d2357c8da54b7d330917e0e769d33f1f5b93')
balance=contract.functions.balanceOf(address2).call()

#Don't use fromWei function if its not defined on your Web3 documentation

【讨论】:

    猜你喜欢
    • 2018-11-04
    • 2018-09-13
    • 2018-09-19
    • 2020-05-18
    • 2020-03-23
    • 2021-09-29
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    相关资源
    最近更新 更多