Bytecode verified via sibling
This contract shares identical runtime bytecode with Greeter (0xfea8c4af...) which has been verified through compiler archaeology.
The Frontier-era greeter tutorial contract: returns a constructor-set greeting from greet(), with an owner-only kill() inherited from mortal.
Historical Significance
The greeter was Ethereum's Hello World. It is the worked example in the Frontier Guide and in the go-ethereum Contract Tutorial, and it was the first contract a large share of developers ever deployed. Its mortal base also served as many people's first encounter with Solidity inheritance and with the owner-guarded suicide pattern that early contracts used to reclaim funds.
Context
Deployed 2015-09-08 by 0x5fb181054cdd53e106812529a8d545b2ec664e87. Twenty-one byte-identical copies of this runtime appear in the Ethereum History archive as undocumented Frontier contracts, deployed by twelve distinct addresses between 2015-08-20 and 2015-09-12. That spread of independent deployers over several weeks is the fingerprint of many people separately working through the same published tutorial, rather than one project redeploying its own contract.
Key Facts
Description
Two contracts in one file. mortal records the deployer in an owner slot and exposes kill(), which calls suicide(owner) only when the caller is that owner. greeter inherits from mortal, stores a string set once in its constructor, and returns it from greet(). The deployed runtime is 476 bytes and dispatches exactly two selectors: greet() at 0xcfae3217 and kill() at 0x41c0e1b5. There is no other reachable functionality, no payable path and no way to change the greeting after construction.
Source Verified
The official Ethereum Greeter tutorial contract (mortal + greeter). Compiled with soljson v0.1.1+commit.6ff4cd6, optimizer off. 692 bytes + 96 bytes constructor arg = 788 bytes. Self-destructed.
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 mortal {
address owner;
function mortal() { owner = msg.sender; }
function kill() { if (msg.sender == owner) suicide(owner); }
}
contract greeter is mortal {
string greeting;
function greeter(string _greeting) public {
greeting = _greeting;
}
function greet() constant returns (string) {
return greeting;
}
}External Links
Related contracts
greeter
Same deployerThe Frontier-era greeter tutorial contract: returns a constructor-set greeting from greet(), with an owner-only kill() inherited from mortal.
0x283263...a28cdbSeptember 7, 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, 2015Greeter
Same eraOne of six HelloWorld Greeter deployments by Linagee on Ethereum Frontier Day 1 - same source, same compiler, greeting: 'Hello World!'
0xf91486...63ea50August 7, 2015