web3.py概述

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

与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(b'\x00\x0F'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值