fabric学习笔记9

20201303张奕博 2023.1.20

Python Web3 与智能合约的交互

开发合约,或者开源合约,都会有一份该合约的ABI JSON文件

ABI文件包括了智能合约的输入与输出格式(其中name对应合约function的名字)

假如我们现在要对POAP合约交互,则需要一下

  1. POAP合约地址:0x22C1f6050E56d2876009903609a2cC3fEf83B415

  2. POAP合约主网的HTTPProvider

  3. POAP合约的API:abi.json文件

from web3 import Web3
import web3 CONTRACT = '0x22C1f6050E56d2876009903609a2cC3fEf83B415' # 合约地址
HTTPProvider = "https://dai.poa.network" # 主网HttpProvider

打开abi json文件

with open('contracts/contract_abi.json', 'r') as contract_abi:

abi = json.load(contract_abi)

提供HTTPProvider,链上互动的接口

w3 = Web3(Web3.HTTPProvider(HTTPProvider))

检查HTTPProvider

print(w3.isConnected())

HttpProvider可使用情况下输出为【True】

继续

连接合约

contract = w3.eth.contract(address=CONTRACT, abi=abi)

使用合约功能

ACC = '0xAdA556CcC02cc968579FF5294D52DC0eBf5eE328' # 个人钱包地址我随便找的

balance = contract.functions.balanceOf(acc).call() # 查询个人钱包地址的余额

print(balance)

输出为【2】

最新文章

  1. 判断App运行是否在前台
  2. 51nod 1051 最大子矩阵和(dp)
  3. CSS兼容问题大全
  4. mysql union和union all
  5. How to: Extract files from a compiled setup.exe created by Inno setup
  6. ArcEngine - 栅格数据访问的-对象模型
  7. MongoDB--运行环境
  8. poj3924
  9. Lambda表达式常用代码示例
  10. MFC六大核心机制之三:动态创建
  11. Ubuntu下笔记本触控板的禁启
  12. RTCM32编解码中的一些概念及相关文献阅读
  13. VB6 加载水晶报表例子
  14. Mybatis入门和简单Demo
  15. cratedb 基本试用
  16. iOS自动化-iOS录屏xrecord及解决iPhone设备不显示的问题
  17. 【优先队列】POJ3614-Sunscreen
  18. Android 不同View ID相同
  19. java字节码理解-入门
  20. MINA 框架总结 整体理解

热门文章

  1. 【转载】SQL 2012以上版本分页查询更简单
  2. 快速体验,学习lua(一种可嵌入c++,c#,android,object-c等并进行互调支持热更新的脚本)的入门调试系列(3)
  3. Unix 系统数据文件那些事儿
  4. python之路54 forms组件 渲染 展示 参数补充 modelform组件 django中间件
  5. 《线段树学习笔记》 AC代码索引
  6. CentOS7.6系统安装和网络配置
  7. jupyter的配置
  8. MyBatis使用四(查询详解)
  9. Pytest插件pytest-rerunfailures失败重跑
  10. python 动态导入库