此处是上篇博文中的完整以太坊智能合约
pragma solidity >=0.4.22<0.8.0;
contract Voting{
bytes32[] public candidateList;
mapping(bytes32 => uint8) public votesRece;
constructor(bytes32[] memory candidateListName) public{
candidateList = candidateListName;
}
//检查候选人
function hefacandidate(bytes32 candidateName) internal view returns (bool){
for(uint8 i =0;i<candidateList.length;i++){
if(candidateName ==candidateList[i]){
return true;
}
}
return false;
}
function voteForCandidate (bytes32 candidateName)public{
require (hefacandidate(candidateName));
votesRece[candidateName] +=1;
}
function LookForCandidate (bytes32 candidateName) view public returns(uint8){
require (hefacandidate(candidateName));
return votesRece[candidateName];
}
}
这篇博文介绍了如何在以太坊平台上创建一个简单的投票智能合约。合约包含了候选人的列表管理,投票功能以及查看投票结果的方法。通过`require`语句确保了投票的正确性,并使用映射记录每个候选人的得票数。
817

被折叠的 条评论
为什么被折叠?



