生成一个以太坊智能合约，完成一个简单的投票任务。


选项1: 是
选项2: 否
抱歉，作为AI语言模型，我无法直接生成智能合约代码。但你可以使用Solidity编程语言编写智能合约来实现简单的投票任务，可以定义一个投票合约，其中包含投票选项和计数器，以及记录每个帐户的投票状态。投票合约可以定义函数来允许投票，检查选项的有效性，以及返回投票结果。例如：

```
pragma solidity ^0.8.0;

contract Voting {
    string public option1 = "yes";
    string public option2 = "no";

    mapping(address => bool) public hasVoted;

    uint public option1Count = 0;
    uint public option2Count = 0;

    function vote(bool forOption1) public {
        require(!hasVoted[msg.sender], "You can only vote once");
        if (forOption1) {
            option1Count++;
        } else {
            option2Count++;
        }
        hasVoted[msg.sender] = true;
    }

    function getVoteCount() public view returns (uint, uint) {
        return (option1Count, option2Count);
    }
}
```

这个合约有两个选项，option1和option2，并使用布尔映射hasVoted跟踪每个帐户的投票状态。每个选项都有一个计数器，投票合约提供vote函数，允许投票。它检查帐户是否已经投过票，增加选项的计数器，然后将hasVoted设置为true，表示已经投过票。这个智能合约还提供了一个函数getVoteCount，返回每个选项的总数。