The Solidity documentation storage example, given a public variable and an initialising constructor
Historical Significance
The contract the Solidity documentation opens with, and for most readers of the period the first one they compiled. It teaches the one thing the EVM does that a script does not: a number written here survives the transaction that wrote it, is readable by anyone, and costs real money to change.
Context
Deployed in November 2015 during the Frontier period. SimpleStorage was the first contract most people compiled, and copies of it with small edits are scattered across the early chain.
Key Facts
Description
A single unsigned integer held in storage, with set to write it and get to read it back. The variable is declared public, so the compiler also emits a storedData accessor, and the constructor takes an initial value that is written into the slot at deployment. It is the SimpleStorage example that opens the Solidity documentation, edited in those two ways by whoever deployed it. This deployment was compiled with the optimiser enabled.
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 SimpleStorage {
uint public storedData;
function SimpleStorage(uint initVal) {
storedData = initVal;
}
function set(uint x) {
storedData = x;
}
function get() constant returns (uint retVal) {
return storedData;
}
}External Links
Related contracts
SimpleStorage
Same deployerThe Solidity documentation storage example, given a public variable and an initialising constructor
0x4478af...13c409November 10, 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