from web3.auto import w3
我得到了一堆警告,如:
.local / lib / python3.6 / site-packages / eth_utils / string.py:23:
DeprecationWarning:force_bytes
函数已弃用,将在后续版本中删除eth-utils库。 UTF8无法对0-255范围内的某些字节值进行编码,如果没有明确声明的编码,则无法在字节和文本表示之间进行天真的编码。
“声明编码。”。format(fn .__ name __)
还有更多像这样的人。 我怎么解决这个问题?
答案 0 :(得分:0)
web3auto不再包含在web3库中,它将从新的稳定库中删除,因此在最新且稳定版本的web3库中,您必须手动提供提供程序。 提供者是web3如何连接到区块链。 Web3库附带以下内置提供程序,应该适用于大多数正常用例。
HTTPProvider获取可以找到服务器的完整URI。对于本地开发,这类似于http://localhost:8545。
IPCProvider采用可以找到IPC套接字的文件系统路径。如果没有提供参数,它将使用操作系统的默认路径。
>>> from web3 import Web3, HTTPProvider, IPCProvider
# Note that you should create only one RPCProvider per
# process, as it recycles underlying TCP/IP network connections between
# your process and Ethereum node
>>> web3 = Web3(HTTPProvider('http://localhost:8545'))
# or for an IPC based connection
>>> web3 = Web3(IPCProvider())
有关详细信息,请参阅docs
注意:安装web3库时安装最新版本。 而你正在做的事情如下:
from web3 import Web3, HTTPProvider
# For HTTPProvider
w3 = Web3(HTTPProvider('http://localhost:8545.'))
希望这会对你有所帮助! :)