zkay项目测试简单记录

实验记录,这份是很早之前做的实验,记录可能有些许残缺,最近整理了一下,当作云端存储好了

zkay编译 编译我写的这个文件到survey_compiled这个文件夹中
在这里插入图片描述

编译完开启以太坊测试后端(本地区块链模拟)。运行./survey_compiled文件夹内文件
在这里插入图片描述

创建三个账户organizer,user_a,user_b
在这里插入图片描述

Organizer部署合约
“2”:最低投票人数 user=survey_organizer:合约创建者地址
survey_contract address: 0x9d9DD5D8B6075a748B74460B9C388bDFC7F73A630
调用construcor函数,初始化合约在这里插入图片描述

User_a,user_b连接合约
先连接公钥库,然后连接三个验证“电路?”文件,最后连接survey合约
连接来自于账户user_a:012813eb9362372eef530f3b1dbc3f819671cba69
(user=user_a中的user_a是指连接该合约的账户的地址,而最前面的user_a可理解为user_a账户地址,在连接合约,经过这个函数操作,实例化后的结果。虽然两者都使用了user_a,但是含义不同)在这里插入图片描述

在这里插入图片描述

deploy 和 connect 命令都返回一个合约接口对象,该对象应该存储在一个变量中。您现在可以通过在这些接口对象上调用相应的成员函数来发出一些 zkay 事务

您现在可以通过在这些接口对象上调用相应的成员函数来发出一些 zkay 事务:
User_a调用投票函数,organizer调用计票函数

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

也可以调用不需要事务的公共只读(纯/视图)合约函数。如果返回值为私有(@me),则自动解密:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

也可以手动检索任何状态变量的值(state.get_plain 会自动解密该值,但也可以使用state.get_raw来检索未修改的密文):在这里插入图片描述

Help()
在这里插入图片描述
在这里插入图片描述

如果尝试返回@organizer的数据,编译检查会报错
在这里插入图片描述

改成private即可

资料参考:zkay0.3.0

猜你喜欢

转载自blog.csdn.net/weixin_43380357/article/details/129781814