Python使用web3.py操作以太坊Geth
1、启动geth
# --datadir 数据文件夹
# --networkid 创世文件中的chainid
# --rpc 开启api接口
# --rpcapi="db,eth,net,web3,personal,miner" api接口的权限
# --rpcaddr=127.0.0.1 rpc的host,不需要加引号
# --allow-insecure-unlock 默认禁止了HTTP通道解锁账户,输入此参数开启,不然http无法解开帐户
geth --datadir data --networkid 130776 --rpc --rpcapi="db,eth,net,web3,personal,miner" --rpcaddr=127.0.0.1 --allow-insecure-unlock

1、建立连接
from web3 import Web3
GETHW3 = Web3(Web3.HTTPProvider('http://xx.xx.xx.xx:8545'))
2、eth基本操作
# 获取区块高度
GETHW3.eth.block_number
3、miner基本操作
# 开始挖矿,1代表cpu数量
GETHW3.geth.miner.start(1)
# 停止挖矿
4、personal基本操作
# 解开帐户,交易时需要
unlock_result = GETHW3.geth.personal.unlock_account( 帐户地址 , 密码 )
# 开始交易
transaction = {
'to': '0x3d08415428cF86c62041d4836dD59e09Eb27E11d',
'value': 10,
'gas': 2000000,
'gasPrice': 10,
'nonce': int(time.time()),
'chainId': 666,
'data': data
}