Web3Py扩展器工具
web3tools的Python项目详细描述
Web3工具
Web3Tools是web3py library的扩展程序
用法-基本工具
from web3tools import Utils
创建以太坊帐户
^{pr2}$获取地址
private_key = Utils.decrypt("myKeystore", "myPassword")
address = Utils.get_address(private_key)
签署邮件并恢复签名者的地址
signature = Utils.sign_message("myPrivateKey", "myMessage")
address = Utils.recover_message(signature, "myMessage")
用法-Ewt
from web3tools import Ewt
ewt = Ewt(expiration=30)
Ewt身份验证,类似于jwt,但使用以太坊加密密钥
ewt_token = ewt.generate("myPrivateKey")
is_valid = ewt.validate(ewt_token)
使用-区块链阅读器
from web3tools import Reader
reader = Reader(Providers.INFURA_MAINNET.value.format("myInfuraKey"))
爬网区块链
current_block_number = reader.get_current_block_number()
current_block_info = reader.get_block(current_block_number)
transaction = reader.get_transaction("myTxid")
receipt = reader.get_receipt("myTxid")
gas_price = reader.get_gas_price()
获取钱包信息
balance = reader.get_balance("myWallet")
nonce = reader.get_nonce("myWallet")
阅读合同
contract = reader.get_contract_instance("abiFilePath", "contractAddress")
value = reader.call_view(contract, "viewName", "viewArguments")
events = reader.find_events(contract, "eventName", from_block=0, to_block="latest")
events_on_transaction = reader.find_event_receipt(contract, "eventName", "myTxid")
使用-启动事务
from web3tools import Provider, Transactor
transactor = Transactor(Providers.INFURA_MAINNET.value.format("myInfuraKey"))
发送1 Eth到receiverAddress
transactor.launch_transaction("myPrivateKey", "receiverAddress", transactor.to_wei(1))
调用token contract的transfer函数,将1令牌发送到receiverAddress
contract = transactor.get_contract_instance("abiFilePath", "contractAddress")
transactor.launch_function(contract, "myPrivateKey", "transfer",
"receiverAddress", transactor.to_wei(1))
- 项目
标签: