A two-party ether release contract funded with 20 ETH, deployed 11 August 2015.
Historical Significance
The contract stores two addresses and a deadline fixed at deployment to five days out. Its single function, requestEther(uint256), pays the requested amount to the first address under either of two conditions: the first address asks for it after the deadline has passed, or the second address asks for it at any time. Neither party can direct funds anywhere else, and the amount is chosen by the caller rather than fixed, so the arrangement is a release mechanism rather than a fixed payout. Deployed by Linagee from 0xcd063b3081ea55535e5b60a21eff7f14e785a877 with 20 ether sent in the deployment transaction, naming 0x03c4c03f163d51105bbc0e1a63077cb04210aa83 as the second party.
Context
Deployed four days after the Frontier launch, in the first week that Ethereum accepted contracts.
Key Facts
Description
The contract stores two addresses and a deadline fixed at deployment to five days out. Its single function, requestEther(uint256), pays the requested amount to the first address under either of two conditions: the first address asks for it after the deadline has passed, or the second address asks for it at any time. Neither party can direct funds anywhere else, and the amount is chosen by the caller rather than fixed, so the arrangement is a release mechanism rather than a fixed payout. Deployed by Linagee from 0xcd063b3081ea55535e5b60a21eff7f14e785a877 with 20 ether sent in the deployment transaction, naming 0x03c4c03f163d51105bbc0e1a63077cb04210aa83 as the second party.
Source Verified
Runtime (440 bytes, SHA-256 4a04e18c…) and creation (587 bytes + 32-byte constructor arg) both reproduce byte-for-byte. Source compiled with soljson v0.1.1+commit.6ff4cd6, optimizer OFF. Function selector 0x55c87eb0 = requestEther(uint256). Constructor arg (recipient) = 0x03c4c03f163d51105bbc0e1a63077cb04210aa83. releaseTime = now + 432000 (5 days). The && short-circuit, PUSH2 0x0100 EXP address masking, and 6000357c01…9004 dispatcher confirm unoptimized v0.1.1 codegen.
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)
// Time-locked two-party escrow deployed 2015-08-11 by Martin Becze (0xcd063b3081ea55535e5b60a21eff7f14e785a877).
// Block 69,444 — funded with 20 ETH. Compiler: soljson v0.1.1+commit.6ff4cd6, optimizer OFF.
contract Escrow {
address owner;
address recipient;
uint releaseTime;
function Escrow(address _recipient) {
owner = msg.sender;
recipient = _recipient;
releaseTime = now + 432000;
}
function requestEther(uint amount) {
if (msg.sender == owner && block.timestamp > releaseTime)
owner.send(amount);
if (msg.sender == recipient)
owner.send(amount);
}
}External Links
Related contracts
testContract
Same deployerThe first publicly posted Ethereum contract that returned a value when called, demonstrating interactive smart contract execution.
0xa3483b...018cdcAugust 7, 2015NameRegister
Same deployerEarly Frontier-era name registry contract (Aug 8, 2015, block 51807) implementing reserve, register, and setContent functions for on-chain name resolution.
0x556488...b9f561August 8, 2015ayeAyeCoin
Same deployerOne of the earliest named tokens on Ethereum, and the first known to feature an animal identity and a public on-chain faucet.
0x3eddc7...7305bbAugust 20, 2015