
智能合约
WISH2017
当我成尘时,你将看见我的微笑
展开
-
web3连接Ropsten测试网络
内容摘要remix发布智能合约到Ropsten测试网络修改合约实例使得可以访问Ropsten合约发布这一阶段最重要的就是获取合约实例的ABI和合约地址地址。图片实例修改部署到测试网络时编译阶段生成的ABI。复制下来创建一个json文件并保存,需要改的地方:放在对象里:{"abi":[ { "inputs": [ { "internalType": "string", "name": "AuthenticationInfomation", "type":原创 2021-05-06 20:50:16 · 1676 阅读 · 2 评论 -
智能合约开发实践(1)
标题电子投票中隐私性和可验证性问题。计划:在智能合约中否定只保留计票数的操作,同时存储sha256(msg.sender,TAG)其中,TAG是用户自定义上传的混合信息,其目的有两个。一是提SHA256的混乱程度,降低其他用户获取地址的信息破解。二是作为必要信息存储到投票者的数据结构里,提供验证时的计算。利用msg.sender的原因旨在防止多人采用同样TAG,使得无法验证是否是自己进行的投票。综上,(msg.sender+TAG)的SHA256 可以有效解决可验证和隐私性的问题。未投票但是已原创 2021-04-24 10:23:47 · 224 阅读 · 0 评论 -
智能合约中的若干问题
introduction语言:solidity编译器:solc 0.5.16开发环境:vs code问题1:函数返回值问题描述我有这样一个函数及参数如下: struct BallotList{ uint[] list; } mapping(address=>BallotList) ballotList; function getCandidateLength()public view returns(uint length){ length=b原创 2021-04-08 15:36:38 · 349 阅读 · 2 评论 -
智能合约编写的中一些心得
返回值问题1:函数返回值发生合约变量更改的函数调用在前端只会返回交易区块信息。只有不改变状态的view 或pure修饰的函数可以返回值。contract test{ string info; constructor(){} function get() view public returns(string memory){ return info; } function set(string memory str)public{ info=str; }}2:存储变量ma原创 2021-04-07 16:15:59 · 198 阅读 · 0 评论 -
智能合约交互问题之函数调用
一个超级简到的示例合约如下:pragma solidity >0.4.24;contract Demo{ string name; uint age; //定义事件 event Instructor(string name, uint age); function set(string memory _name, uint _age) public { name = _name; age = _age;原创 2021-03-18 15:42:47 · 1263 阅读 · 1 评论