美文网首页
web3py 简单使用

web3py 简单使用

作者: 侧耳倾听y | 来源:发表于2022-10-31 17:01 被阅读0次

文档:
https://web3py.readthedocs.io/en/latest/quickstart.html
Github:
https://github.com/ethereum/web3.py

连接节点

from web3 import Web3
w3 = Web3(Web3.HTTPProvider('https://exchainrpc.okex.org'))
print(w3.isConnected())

查询地址余额

from web3 import Web3
w3 = Web3(Web3.HTTPProvider('https://exchainrpc.okex.org'))
print(w3.eth.get_balance('0x9361077d2925f9be20eC8Bd53E48cb8455A0AD43'))

调用合约读方法

可以只传部分abi

from web3 import Web3

w3 = Web3(Web3.HTTPProvider('https://exchainrpc.okex.org'))
abi = '[{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"}]'
contract = w3.eth.contract(address=Web3.toChecksumAddress('0x5fac926bf1e638944bb16fb5b787b5ba4bc85b0a'), abi=abi)
print(contract.functions.decimals().call())

或者

from web3 import Web3
from web3.contract import ConciseContract

w3 = Web3(Web3.HTTPProvider('https://exchainrpc.okex.org'))
# with open('erc20_abi.json') as erc20_abi:
#     abi = json.load(erc20_abi)
abi = '[{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"}]'
contract = w3.eth.contract(address=Web3.toChecksumAddress('0x5fac926bf1e638944bb16fb5b787b5ba4bc85b0a'), abi=abi)
concise_contract = ConciseContract(contract)
print(concise_contract.decimals())

或者

from web3 import Web3

w3 = Web3(Web3.HTTPProvider('https://exchainrpc.okex.org'))
call = w3.eth.call(
    {"from": "0x0000000000000000000000000000000000000000",
     "to": Web3.toChecksumAddress('0x5fac926bf1e638944bb16fb5b787b5ba4bc85b0a'),
     "data": "0x313ce567"})
print(Web3.toInt(call))

更推荐前两种使用方式。

相关文章

  • Web3py简单使用方法(二)

    1.通过合约工厂使用合约··· 实例化合约,可以通过ContractFactory指定类型 contract = ...

  • Web3py简单使用方法(三)

    一.Web3py的一些使用的例子:1.查询区块:··· 通过number查找 web3.eth.getBlock(...

  • Web3py简单使用方法(一)

    1.概述 Web3py是一个与以太坊交互的python三方库,移植了Web3.js JavaScript的API。...

  • Python通过JSON-RPC对以太坊智能合约部署交易

    本文探讨了如何将JSON-RPC请求发送到Geth节点以创建原生的交易。目标是在使用高级库(如web3py或web...

  • 简单使用

    创建模型 过滤器 我们有一些字段和我们想让用户筛选的基础上 名称、价格或release_date。 我们创建一个 ...

  • gorange

    数组中简单使用 map中简单使用

  • 简单使用使用kaggle

    向我这样的条件不好的可以考虑借助云gpu来加速训练,借助kaggle可以在kaggle服务器上训练数据,kaggl...

  • 零碎的小程序笔记

    目录 template的简单使用WXS的简单使用npm的简单使用倒计时js的实现wx:for的使用一些js方法记录...

  • 命令行的简单使用

    Git命令行的简单使用,仅供自己使用 pod命令行的简单使用

  • 单元测试和OCMock

    OCMock使用一、安装及简单使用:使用Cocoapod引入:pod 'OCMock' 简单使用:新建一个单元测试...

网友评论

      本文标题:web3py 简单使用

      本文链接:https://www.haomeiwen.com/subject/drzrtdtx.html