A one question poll from 2015 that only its own creator is allowed to vote in.
Context
Deployed in 2015 on the Ethereum Frontier network.
Key Facts
Description
The whole poll lives in a single public struct: creator, a question string, a vote cap, an options string, a timestamp, an open flag and a running count, all readable at once through p(). vote(string) records a ballot as a NewVote event and bumps the counter, then closes the poll automatically once the count reaches the cap. endPoll() closes it by hand. Both are gated on msg.sender being the address stored in the struct, so nobody but the creator can vote or close, and both return zero rather than throwing when the check fails. The struct member names in the recovered source are chosen to fit their types and uses; only the layout survives in the bytecode. Source recovered by exact bytecode match: solc v0.1.7+commit.b4e666cc with the optimizer off reproduces all 1216 bytes of the deployed code.
Source Verified
Heuristic Analysis
The following characteristics were detected through bytecode analysis and may not be accurate.
Frontier Era
The initial release of Ethereum. A bare-bones implementation for technical users.
Bytecode Overview
Verified Source Available
Source verified through compiler archaeology and exact bytecode matching.
View Verification ProofShow source code (Solidity)
// Submitted by EthereumHistory (ethereumhistory.com)
contract Poll {
struct PollData {
address owner;
string question;
uint maxVotes;
string options;
uint created;
bool open;
uint votes;
}
PollData public p;
event NewVote(string vote);
function vote(string text) returns (uint) {
if (msg.sender != p.owner || p.open != true) return 0;
p.votes += 1;
NewVote(text);
if (p.maxVotes > 0) {
if (p.votes >= p.maxVotes) endPoll();
}
return 1;
}
function endPoll() returns (uint) {
if (msg.sender != p.owner) return 0;
p.open = false;
return 1;
}
}External Links
Related contracts
EFSubMultisig
Same eraA 2-of-3 motion register deployed by the Ethereum Foundation's EF 1 wallet on August 12, 2015, thirteen days after Frontier. Three hardcoded developer keys co-sign to emit an on-chain event. Holds no ETH and makes no external calls. Serpent source recovered by exact bytecode match.
0x209711...b23d25August 12, 2015Ethereum Multisig Wallet (EF Signer)
Same eraA personal multisig wallet deployed 20 days after Ethereum's Frontier launch by a confirmed Ethereum Foundation multisig signer. Based on Gav Wood's Wallet.sol.
0xfe8ad7...783715August 20, 2015Democracy DAO
Same eraOn-chain governance contract with proposals, voting, and execution. Stripped-down version of the go-ethereum wiki Democracy DAO tutorial.
0xb5b8a0...9cfec6September 24, 2015ProtoDAO_0x7931c901_Sep24
Same eraSep 24, 2015 proto-DAO experiment — eight months before TheDAO. One of 10 byte-identical sister contracts deployed by 0x7931c901 in a 40-minute burst.
0x8d0c13...ff4f34September 24, 2015ProtoDAO_0x7931c901_Sep24
Same eraSep 24, 2015 proto-DAO experiment — eight months before TheDAO. One of 10 byte-identical sister contracts deployed by 0x7931c901 in a 40-minute burst.
0x8ecd7a...605874September 24, 2015ProtoDAO_0x7931c901_Sep24
Same eraSep 24, 2015 proto-DAO experiment — eight months before TheDAO. One of 10 byte-identical sister contracts deployed by 0x7931c901 in a 40-minute burst.
0xba2423...0516e0September 24, 2015