与web3.py库交互的共同入口是web3对象。web3对象提供API,用于python开发的应用与以太坊区块链进行交互,通常是通过连接JSON-RPC服务器进行。
Providers提供者
Providers使web3连接到区块链上。Web3.py库带有以下内置的providers,它们能够适用于大多数用例。
web3.HTTPProvider:用于连接基于http和https的JSON-RPC服务器。web3.IPCProvider:用于连接基于ipc套接字的JSON-RPC服务器。web3.WebsocketProvider:用于连接基于ws和wss的websocket的JSON-RPC服务器。
HTTPProvider:用于获取可以找到服务器的完整URI。对于本地开发,这类似http://localhost:8545。
IPCProvider:用于获取可以找到IPC套接字的文件系统路径。如果不提供任何参数,它将使用操作系统的默认路径。
WebsocketProvider:用于获取可以找到服务器的完整URI。对于本地开发,这类似ws://127.0.0.1:8546。
示例代码如下:
>>> from web3 import Web3, HTTPProvider, IPCProvider, WebsocketProvider
# 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())
# or for Websocket based connection
>>> web3 = Web3(WebsocketProvider('ws://127.0.0.1:8546'))
基本API
web3类提供了以下十分便利的基本API:
类型转换
web3.toHex
Web3.toHex(primitive=None, hexstr=None, text=None)
获取各种输入并以十六进制表示形式返回它。它遵循在JSON-RPC规范中转换为十六进制的规则。
>>> Web3.toHex(0)
'0x0'
>>> Web3.toHex(1)
'0x1'
>>> Web3.toHex(0x0)
'0x0'
>>> Web3.toHex(0x000F)
'0xf'
>>> Web3.toHex(b'')
'0x'
>>> Web3.toHex(<

web3.py是Python开发者与以太坊区块链交互的库,通过JSON-RPC服务器连接。它提供了Providers(如HTTPProvider, IPCProvider等)来连接区块链,以及包括类型转换、币值转换、地址和加密哈希处理在内的基本API。此外,web3.py还按JSON-RPC方法的命名空间将功能划分为多个模块,便于以太坊开发。"
104672557,8424118,OBS Studio显示器捕获黑屏问题解决方法,"['录屏软件', 'OBS', '显卡配置', '视频录制', '故障排除']
最低0.47元/天 解锁文章
1117

被折叠的 条评论
为什么被折叠?



