A crowdfunding contract with a 0.06 ether goal and a 500 second window, deployed 30 October 2016.
Historical Significance
Anyone can call fund with ether attached and the contract records the sender and the amount in a list. After the deadline passes, exactly one of two outcomes is available and neither can be forced early. If the balance reached the 0.06 ether goal, collect pays the whole balance to the beneficiary. If it did not, refund walks the list of contributors and returns each one their stake. The deadline was set at construction to 500 seconds after the deploying transaction, so the whole thing resolved within 8 minutes. The beneficiary named in the constructor is the deploying account itself, 0x1db3439a222c519ab44bb1144fc28167b4fa6ee6, which belongs to Vitalik Buterin.
Context
Deployed in a single session on 30 October 2016, weeks after the Shanghai denial of service attacks and the Tangerine Whistle and Spurious Dragon forks that answered them.
Key Facts
Description
Anyone can call fund with ether attached and the contract records the sender and the amount in a list. After the deadline passes, exactly one of two outcomes is available and neither can be forced early. If the balance reached the 0.06 ether goal, collect pays the whole balance to the beneficiary. If it did not, refund walks the list of contributors and returns each one their stake. The deadline was set at construction to 500 seconds after the deploying transaction, so the whole thing resolved within 8 minutes. The beneficiary named in the constructor is the deploying account itself, 0x1db3439a222c519ab44bb1144fc28167b4fa6ee6, which belongs to Vitalik Buterin.
Source Verified
Runtime (846 bytes) reproduces byte-for-byte from the reconstructed source using solc 0.3.6, optimizer off (predates swarm metadata). One of five byte-identical copies. runtime sha256 f558496da613d2c10a8653c6a5f13c847c42918d25ec58a4ccaddf43f277281e.
Historian Categories
Heuristic Analysis
The following characteristics were detected through bytecode analysis and may not be accurate.
Tangerine Whistle Era
Emergency fork to address DoS attacks. Repriced IO-heavy opcodes.
Bytecode Overview
Verified Source Available
Source verified through compiler archaeology and exact bytecode matching.
View Verification ProofShow source code (Solidity)
// Verified by EthereumHistory (ethereumhistory.com)
contract CrowdFunding {
struct Funder { address addr; uint amount; }
Funder[] funders;
uint goal;
uint public deadline;
address beneficiary;
function fund() {
funders.push(Funder(msg.sender, msg.value));
}
function refund() {
if (now > deadline && this.balance < goal) {
uint i = 0;
while (i < funders.length) {
funders[i].addr.send(funders[i].amount);
i++;
}
}
}
function collect() {
if (now > deadline && this.balance >= goal)
beneficiary.send(this.balance);
}
}External Links
Related contracts
SerpentGamble
Same deployerProvably-fair betting game where players choose their own odds. The owner settles bets with a commit-reveal random seed. Includes a 2-day emergency refund.
0x034df8...200e2fSeptember 20, 2015SerpentGamble
Same deployerSibling of 0x034dF870 (SerpentGamble). Provably-fair Serpent betting game; players choose their own odds, owner settles via commit-reveal seed, 2-day refund.
0x9ca7e9...fa8bb4September 21, 2015SerpentGamble
Same deployerSibling of 0x034dF870 (SerpentGamble). Provably-fair Serpent betting game; players choose their own odds, owner settles via commit-reveal seed, 2-day refund.
0x75649a...176028September 21, 2015SerpentGamble
Same deployerIntermediate build of serpent_gamble, a provably-fair betting dapp (Bet/Win/Loss/NewSeed), related to verified sibling 0x59375871. Source not yet reconstructed.
0xe1a99f...0d2457September 21, 2015SerpentGamble
Same deployerIntermediate build of serpent_gamble, a provably-fair betting dapp (Bet/Win/Loss/NewSeed), related to verified sibling 0x59375871. Source not yet reconstructed.
0xdc00a9...15861fSeptember 21, 2015SerpentGamble
Same deployerIntermediate build of serpent_gamble, a provably-fair betting dapp (Bet/Win/Loss/NewSeed), related to verified sibling 0x59375871. Source not yet reconstructed.
0xd0ed09...300b48September 21, 2015