首页 > 其他分享 >blockchain | web3.py交互模板

blockchain | web3.py交互模板

时间:2024-11-07 16:23:11浏览次数:1  
标签:functions receipt tx py blockchain contract web3 w3 print

blockchain | web3.py交互模板

exp:

from web3 import Web3
from web3.middleware import SignAndSendRawMiddlewareBuilder
import json

w3 = Web3(Web3.HTTPProvider('http://127.0.0.1:8545'))

if not w3.is_connected():
	print('conn err')
	exit(-1)

print('conn ok')

# 导入钱包
privateKey = '********************'
account = w3.eth.account.from_key(privateKey)
print(w3.eth.get_balance(account.address))
w3.middleware_onion.inject(SignAndSendRawMiddlewareBuilder.build(account), layer=0)


with open('contracts/Fht.json', 'r', encoding='utf-8') as f:
	c = f.read()

data = json.loads(c)
abi = data['abi']
bytecode = data['bytecode']['object']

# 部署合约
option = {'from': account.address, 'gas': 1000000, 'gasPrice':10000000000}
contract = w3.eth.contract(abi=abi, bytecode=bytecode)
tx_hash = contract.constructor().transact(option)
tx_receipt = w3.eth.wait_for_transaction_receipt(tx_hash)
# print(tx_receipt)
print(tx_receipt.contractAddress)
contract = w3.eth.contract(address=tx_receipt.contractAddress,abi=abi)
# 调用合约测试
a = [1,2,3]
b = [4,3,2,1]
tx_hash = contract.functions.EvalAdd(a, b).transact(option)
tx_receipt = w3.eth.wait_for_transaction_receipt(tx_hash)
# print(tx_receipt)

print(contract.functions.result(0).call())
print(contract.functions.result(1).call())
print(contract.functions.result(2).call())
print(contract.functions.result(3).call())

tx_hash = contract.functions.EvalAdd([1], [99, 1]).transact(option)
tx_receipt = w3.eth.wait_for_transaction_receipt(tx_hash)
print(contract.functions.EvalAdd([1], [99, 1]).call())
print(contract.functions.result(0).call())
print(contract.functions.result(1).call())


标签:functions,receipt,tx,py,blockchain,contract,web3,w3,print
From: https://www.cnblogs.com/Mz1-rc/p/18532638

相关文章

  • 【PDF提取神器】最新推出的PymuPDF4llm库 可提取pdf中的文字/表格/图像/单词
    目录前言安装Pymupdf4llm多模态具体应用API文档前言PymuPDF4llm是最新推出的pdf提取工具,针对LLM进行了专门优化,它支持markdown提取和LlamaIndex文档输出,可以准确提取pdf中的结构化数据,包括文字/表格/图像/单词,其中文字以markdown的形式提取,图像则以路径的形式插入到文......
  • pyspark 解析kafka数组结构数据
    frompyspark.sql.functionsimportget_json_object,col,from_unixtime,instr,length,regexp_replace,explode,from_jsonfrompyspark.sql.typesimport*#定义数组结构schema=ArrayType(StructType([StructField("home",StringType()),S......
  • Mit6.S081笔记Lab6: Lab6: Copy-on-Write Fork for xv6 写时复制
    课程地址:https://pdos.csail.mit.edu/6.S081/2020/schedule.htmlLab地址:https://pdos.csail.mit.edu/6.S081/2020/labs/cow.html我的代码地址:https://github.com/Amroning/MIT6.S081/tree/cowxv6手册:https://pdos.csail.mit.edu/6.S081/2020/xv6/book-riscv-rev1.pdf相关翻译......
  • [python turtle summary] Python 海龟画图 函数总结
    Turtle文档导入turtleimportturtleastimportturtlefromturtleimport*Turtle函数方法移动和绘制penup()抬笔pendown()落笔goto(x,y)移动forward(distance)|fd(distance)前进backward(distance)|back(distance)|bk(distance)后退right(angle)|rt(ang......
  • python画图|hist()函数深层体验
    【1】引言前述学习已经掌握hist()函数的基本运用技巧,可通过下述链接直达:python画图|hist()函数画直方图初探-CSDN博客 python画图|hist()函数画直方图进阶-CSDN博客我们已经理解hist()函数本质上画的是概率分布图,相关知识属于数理统计范畴,日常运用较多。为进一步实现运用......
  • 妙趣横生:Python 动画程序的实现与多样化拓展
    以下是另一个使用Python的pygame库实现的简单动画程序示例,实现了一个小球在窗口内反弹的动画效果,标题为《Python之Pygame实现小球反弹动画》:importpygame#初始化pygamepygame.init()#设置窗口大小width,height=640,480screen=pygame.display.set_mode((wid......
  • 基于Python的热门旅游景点数据分析系统的设计与实现
    ......
  • 如何使用Python进行数据分析
    数据分析是现代数据科学的核心组成部分,Python作为一种强大的编程语言,在数据分析的领域中已成为一项必备技能。本文将介绍如何使用Python进行数据分析,并提供一个简单的案例来帮助你入门。为什么选择PythonPython因其简单易学、功能强大而广受欢迎。以下是Python在数据分析中......
  • 杰卡德相似度矩阵python
    我整理的一些关于【Python】的项目学习资料(附讲解~~)和大家一起分享、学习一下: https://d.51cto.com/Hpqqk2使用Python计算杰卡德相似度矩阵在数据科学与机器学习的领域,相似度度量是一项重要的技术,广泛应用于推荐系统、聚类分析和信息检索等。杰卡德相似度(JaccardSimilarity)是用......
  • Python基础知识
    在用Python写代码的之前,对Python的基础知识是必须要会的,不然你可能会寸步难行。基础知识包括输入输出、变量、数据类型、表达式、运算符这5个方面。输入输出Python有很多函数,后面我们会细讲,但这里先将两个最基本的函数:输入和输出。输出函数print(),在前面我们已经用过了,语法......