投票
以下合同相当复杂,但展示了很多Solidity的功能。 实行投票合同。 当然,电子投票的主要问题是如何将投票权分配给正确的人,以及如何防止操纵。 我们不会在这里解决所有问题,但至少我们将会展示如何进行委托投票,以便计票同时自动完全透明。
这个想法是每次投票创建一个合同,为每个选项提供一个简短的名称。 然后担任主席的合同的创建者将有权单独投票给每个地址。
地址后面的人可以选择投票自己或将他们的投票委托给他们信任的人。
在投票结束时,获胜winningProposal()
将以最多的投票数返回提案。
pragma solidity ^0.4.11;
/// @title 与代表团投票.
contract Ballot {
//这声明了一个新的复杂类型,稍后将用于变量。 它将代表一个选民。
struct Voter {