A minimal getter/setter proxy from the Oraclize team. set() forwards calls to a hardcoded target contract, get() returns constant 255.
Historical Significance
One of the earliest contracts from the Oraclize team, deployed just 7 weeks after Ethereum mainnet launch. The deployer (0x0047A8033CC6d6Ca2ED5044674Fd421F44884dE8) went on to deploy the Oraclize oracle infrastructure, Ethereum's first production oracle service. This contract represents the very beginning of that development.
Context
Deployed in September 2015 during the Frontier era, compiled with Solidity v0.1.1, the earliest available compiler. At this time, smart contract development was in its infancy and developers like Thomas Bertani were experimenting with basic patterns like contract-to-contract calls that would later evolve into the Oraclize oracle architecture.
Key Facts
Description
A tiny proxy contract (147 bytes runtime) deployed by the Oraclize team (Thomas Bertani) on Sep 17, 2015. One of the earliest contracts from the deployer who would go on to build Oraclize, Ethereum's first oracle service.
The set(uint256) function forwards calls to a hardcoded target contract (0x9e0ae8ffd946d12d1d393c6f3bca0eecadc9428e) using early Solidity's raw string-based .call() pattern, where the function name 'set' is passed as a literal string rather than a keccak256 selector. The get() function simply returns the constant 255 (0xFF) without reading from storage.
A uint reserved variable at slot 0 suggests this was part of a larger contract hierarchy, possibly an early prototype of the Oraclize address resolver pattern. Uses inline state variable initialization for the target address rather than a constructor function.
Source Verified
Exact bytecode match (init + runtime). 55 bytes init, 147 bytes runtime, 202 bytes creation total.
Historian Categories
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)
contract GetSet {
uint reserved;
address target = 0x9e0ae8ffd946d12d1d393c6f3bca0eecadc9428e;
function set(uint256 x) {
target.call("set", x);
}
function get() returns (uint8) {
return 0xff;
}
}External Links
Related contracts
Target
Same deployerTarget contract.
0x9e0ae8...c9428eSeptember 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, 2015GetSet
Same deployerA 57-byte test contract: set() stores the transaction's ether value into storage slot 0, and get() reads it back.
0xd17e9b...03b76aSeptember 17, 2015Pool5x
Same deployerPool5x contract.
0x246b34...a8eebeSeptember 17, 2015