An ethereum.org tutorial token deployed as foobar with the chess knight as its symbol, and a supply fixed at construction.
Historical Significance
A token named foobar is a test, and the fact that it is indistinguishable on chain from a token meant seriously is the point: the contract carries no notion of whether anyone was supposed to take it seriously. Thousands of tokens with names like this one sit alongside the ones that mattered, and only the transactions afterwards tell them apart. The chess piece in the symbol field is also an early instance of the metadata being used for a character no wallet of the period could render.
Context
Homestead arrived in March 2016 and the ethereum.org tutorials were rewritten around the transfer and balanceOf names that ERC-20 was standardising. Deploying a token or an organisation had become a matter of filling in constructor arguments, and most of what went on chain in this period is exactly that.
Token Information
Key Facts
Description
The ethereum.org tutorial token in its ERC-20 era form: a public balanceOf mapping, a totalSupply, and a transfer that throws rather than returning false when the sender is short and checks the recipient's balance for overflow before adding to it. It answers standard() with the string Token 0.1, the label the tutorial used before ERC-20 had a number.
It was deployed under the name foobar with the symbol ♞, the black knight from the chess block of Unicode. Name, symbol, decimals and supply are all written in the constructor and no function changes them, and there is no mint, so the supply credited to the deployer is the whole supply there will ever be.
The name is the standard placeholder a programmer reaches for when the value does not matter, which is what this deployment is: the tutorial run through once.
Heuristic Analysis
The following characteristics were detected through bytecode analysis and may not be accurate.
Homestead Era
The first planned hard fork. Removed the canary contract, adjusted gas costs.
Bytecode Overview
Verified Source Available
This contract has verified source code on Etherscan.
Show source code (Solidity)
// Submitted by EthereumHistory (ethereumhistory.com)
contract token {
string public standard = 'Token 0.1';
string public name;
string public symbol;
uint8 public decimals;
uint256 public totalSupply;
mapping (address => uint256) public balanceOf;
event Transfer(address indexed from, address indexed to, uint256 value);
function token(uint256 initialSupply, string tokenName, uint8 decimalUnits, string tokenSymbol) {
balanceOf[msg.sender] = initialSupply;
totalSupply = initialSupply;
name = tokenName;
symbol = tokenSymbol;
decimals = decimalUnits;
}
function transfer(address _to, uint256 _value) {
if (balanceOf[msg.sender] < _value || balanceOf[_to] + _value < balanceOf[_to]) throw;
balanceOf[msg.sender] -= _value;
balanceOf[_to] += _value;
Transfer(msg.sender, _to, _value);
}
}
External Links
Related contracts
token
Same eraBare Homestead-era token (Mar 14 2016): public balanceOf mapping + a single unchecked transfer firing the standard Transfer event.
0xc77f06...494c69March 14, 2016DinastyCoinToken
Same eraHomestead-era transfer-only token, DinastyCoinToken (DCT), fixed supply 200000000 and 6 decimals.
0x3693fd...c11466March 14, 2016token
Same eraMinimal Homestead-era token shell (Mar 14 2016): just a public balanceOf mapping and its compiler-generated getter, with no other functions.
0x38e1da...41a81aMarch 14, 2016sultancoin
Same eraA fixed-supply token with direct transfers only, deployed March 2016.
0x9a11ff...0b797dMarch 15, 2016666🐏
Same eraSix hundred and sixty six units, named and ticketed with a ram emoji.
0x7684aa...d0ed06March 16, 2016CampusCoin
Same eraByte-identical deployment of: Standard ethereum.org tutorial token (Homestead, Mar 2016): name/symbol/decimals metadata, a public balanceOf mapping and an overf
0x00f0b1...e6fcd2March 16, 2016