A copy of the greeter contract from the Frontier Guide, storing the greeting 'You ninnie'.
Historical Significance
The greeter contract from the Frontier Guide, whose tutorial text lives in the go-ethereum wiki, and the first contract most people wrote in 2015. A mortal base holds the deployer's address and the derived greeter stores a string given to the constructor; greet() returns it and kill() lets the deployer selfdestruct the contract. This copy was deployed with the greeting 'You ninnie'. The function order differs from the guide as it was usually pasted: kill sits in the derived contract after greet rather than in the mortal base, which moves the two function bodies and is why this bytecode did not match the guide source. Source recovered by exact bytecode match: solc v0.1.2+commit.d0d36e3 with the optimizer off reproduces the creation transaction, code and constructor argument both.
Context
Deployed in late 2015 on the Ethereum Frontier network.
Key Facts
Description
The greeter contract from the Frontier Guide, whose tutorial text lives in the go-ethereum wiki, and the first contract most people wrote in 2015. A mortal base holds the deployer's address and the derived greeter stores a string given to the constructor; greet() returns it and kill() lets the deployer selfdestruct the contract. This copy was deployed with the greeting 'You ninnie'. The function order differs from the guide as it was usually pasted: kill sits in the derived contract after greet rather than in the mortal base, which moves the two function bodies and is why this bytecode did not match the guide source. Source recovered by exact bytecode match: solc v0.1.2+commit.d0d36e3 with the optimizer off reproduces the creation transaction, code and constructor argument both.
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 mortal {
address owner;
function mortal() { owner = msg.sender; }
}
contract greeter is mortal {
string greeting;
function greeter(string _greeting) {
greeting = _greeting;
}
function greet() returns (string) {
return greeting;
}
function kill() { if (msg.sender == owner) suicide(owner); }
}External Links
Related contracts
Jokoin
Same deployerStandard ethereum.org tutorial token (Frontier, Nov 2015): name/symbol/decimals metadata, a public balanceOf mapping and an overflow-checked transfer firing the
0x14cd3a...6dd181November 4, 2015Greeter
Same eraA HelloWorld greeter deployed at block 51,909 on 8 August 2015, one of a run of contracts from the same account that week.
0x412fda...7267edAugust 8, 2015Greeter
Same eraA Greeter with the message 'Ethereum will change the world smarter' - deployed Aug 8, 2015 by a developer connected to the Tokyo Smart Contract meetup.
0xda0c1c...7a68ebAugust 8, 2015MessageStore
Same eraA 6-line contract storing a single public string, deployed Day 9 of Ethereum by a prolific early experimenter who shipped 18 contracts in one week.
0xd2eccd...ff3d6bAugust 8, 2015Greeter
Same eraThe go-ethereum Contract Tutorial greeter, deployed with the greeting: Hello World!
0x506f4b...466983August 8, 2015Contract 0xd4eae4...a2c77a
Same eraThe ethereum.org crowdsale tutorial, deployed on the ninth day of the public chain, with the funding goal, deadline and price fixed at construction.
0xd4eae4...a2c77aAugust 8, 2015