Bytecode verified via sibling
This contract shares identical runtime bytecode with GetSet (0xe595e837...) which has been verified through compiler archaeology.
A 57-byte test contract: set() stores the transaction's ether value into storage slot 0, and get() reads it back.
Historical Significance
A minimal probe of the two things a contract can do that an ordinary account cannot: keep state and observe the value sent to it. Contracts this small are how developers checked their toolchain worked at all in 2015, when the compiler, the client and the JSON-RPC layer were all new enough to be the likely source of a bug.
Context
Deployed 2015-09-17 by 0x0047a8033cc6d6ca2ed5044674fd421f44884de8, an address that deployed 480 contracts in total, including several already verified under the names SimpleStorage, GetSet and Controller. Two byte-identical copies of this runtime exist. Source recovered by exact runtime bytecode match and verified on Sourcify.
Key Facts
Description
The whole runtime is 57 bytes and dispatches two selectors. set() at 0xb8e010de takes no arguments and writes msg.value into storage slot 0, so the stored number is whatever ether was attached to the call. get() at 0x6d4ce63c is constant and returns that slot. There is no owner, no access control and no way to withdraw the ether that set() records, so any value sent to this contract stays in it permanently.
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 GetSet {
uint value;
function get() constant returns (uint) {
return value;
}
function set() {
value = msg.value;
}
}External Links
Related contracts
Target
Same deployerTarget contract.
0x9e0ae8...c9428eSeptember 17, 2015GetSet
Same deployerA minimal getter/setter proxy from the Oraclize team. set() forwards calls to a hardcoded target contract, get() returns constant 255.
0x77beac...7e96c2September 17, 2015SimpleStorage
Same deployerThe storage example rewired to send a wei and return a constant
0x7aa73b...46473bSeptember 17, 2015Controller
Same deployerController contract.
0x3c9492...e332e5September 17, 2015GetSet
Same deployerA 57-byte test contract: set() stores the transaction's ether value into storage slot 0, and get() reads it back.
0xe595e8...423530September 17, 2015Pool5x
Same deployerPool5x contract.
0x246b34...a8eebeSeptember 17, 2015