A test contract that writes a bool flag based on whether the caller matches a hardcoded admin address, with kill, get, and getBool functions.
Historical Significance
Part of a series of iterative prototypes by a prolific Frontier-era developer. Shows the progression from read-only admin checks to persistent state writes, a pattern that evolved into multi-party escrow contracts with 72 production instances.
Context
Deployed on December 30, 2015 during the Frontier era. Developers were learning Solidity patterns like packed storage (address + bool in one slot) and constructor initialization.
Key Facts
Description
An evolution of the AdminCheck (test-v1) contract by the same developer. Adds a constructor that sets the owner to msg.sender, a bool state variable (flag), and a getBool() function to read it. The test() function writes the result of an admin address comparison to storage instead of just returning it.
Part of a series of iterative prototypes by a developer who deployed over 400 contracts between December 2015 and May 2016. This contract builds on the hardcoded admin check pattern from test-v1, adding persistent state tracking. The owner and flag are packed into slot 0 (address at bits 0-159, bool at bit 160).
The contract was selfdestructed shortly after deployment, deployed just 63 blocks after its predecessor test-v1.
Source Verified
Exact bytecode match (init + runtime). 245 bytes creation code (34 init + 211 runtime), no constructor args. Contract is selfdestructed.
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 T {
address owner;
bool flag;
function T() { owner = msg.sender; }
function kill() { suicide(owner); }
function get() returns (address) { return owner; }
function getBool() returns (bool) { return flag; }
function test() {
flag = (msg.sender == 0x8b9346aa412b52954b5138dbb72adab97273766e);
}
}External Links
Related contracts
Store
Same deployerA simple key-value store contract with set, get, and kill functions, deployed during the Frontier era.
0x621492...3512fcDecember 14, 2015AdminCheck
Same deployerA test contract that checks if the caller matches a hardcoded admin address, with kill and get functions.
0x49efab...82c595December 22, 2015Digix
Same eraThe earliest known attempt to deploy a smart contract on Ethereum mainnet (Aug 7 2015, thanateros.eth). Ran out of gas before code deposit; creation bytecode reconstructed exactly.
0x9a049f...a977a0August 7, 2015Test
Same eraThe earliest known Ethereum contract with executable runtime code. A single function go() that returns the string "eth", compiled with the first publicly available Solidity compiler (v0.1.1).
0x651629...8c21faAugust 7, 2015Greeter
Same eraAn early Ethereum contract that returns the string “Hello World!” when called.
0xfea8c4...8b08ebAugust 7, 2015Greeter
Same eraOne of six HelloWorld Greeter deployments by Linagee on Ethereum Frontier Day 1 - same source, same compiler, greeting: 'Hello World!'
0xd464e6...dc98f3August 7, 2015