1.概述
Web3py是一个与以太坊交互的python三方库,移植了Web3.js JavaScript的API。支持python2.7、3.4、3.5。
英文文档地址:http://web3py.readthedocs.io/en/latest/index.html
2.安装
使用pip安装web3py比较方便,国内网速慢使用清华的pip镜像:
Pip install web3 -ihttps://pypi.tuna.tsinghua.edu.cn/simple
若提示安装失败,可能是系统缺少VC++的python compiler,可以去https://www.microsoft.com/en-us/download/details.aspx?id=44266下载。
3.基本使用
要使用web3,需要先实例化一个web3对象:
```
from web3 import Web3,HTTPProvider,IPCProvider
#创建一个基于http或https的JSON-RPC 服务
web3 = Web3(HTTPProvider('http://localhost:8545'))
#创建一个基于IPC socket的JSON-RPC服务
web3 = Web3(IPCProvider())
```
web3对象提供一些方便的api:
```
#将string、numeric转为十六进制
web3.toHex(value)
#将16进制转为ascii
web3.toAscii(value)
#将16进制转为utf-8
web3.toUtf8(value)
#将ascii转为16进制
web3.fromAscii(value)
#将utf8转为16进制
web3.fromUtf8(value)
#将16进制转为numeric
web3.toDecimal(value)
#将numeric转为16进制
web3.fromDecimal(value)
#将指定单位的币额换算成WEI
web3.toWei(1,'ether')
#将WEI换算成指定单位
web3.fromWei(100000000000000,'ether')
#判断一个地址是不是一个可识别的地址格式
web3.isAddress('0xd3CDA913deB6f67967B99D67aCDFa1712C293601')
```