The 2015 tutorial token renamed to Coin, which turned its initialiser into a public function anyone can call to set their own balance.
Historical Significance
A copy of the tutorial token broken by a one-word edit. Renaming the contract without renaming its initialiser was a common mistake in 2015, when the constructor was simply the function that shared the contract's name, and it turns a fixed supply token into one where any caller can mint to themselves. It is the kind of failure that led later Solidity versions to replace the naming rule with a constructor keyword.
Context
Ethereum's Frontier network went live on 30 July 2015. The tutorial token of that period predates ERC-20: balances are read through coinBalanceOf, transfers are sent with sendCoin, and the event announcing one is called CoinTransfer.
Key Facts
Description
The token from the 2015 ethereum.org tutorial, in the form that predates ERC-20. It keeps one public mapping of balances, hands the whole supply to whoever creates it, and moves units with sendCoin(receiver, amount), which checks the sender's balance, returns false rather than reverting when it is short, and announces a successful move with a CoinTransfer event.
There is no approval, no allowance, no decimals, no name and no symbol. The supply is set once and cannot be added to.
The contract carries a defect that survives in the deployed code. Its initialiser is named token, but the contract is not, so it is not a constructor: it never ran at deployment, and it is a public function that any account can call at any time to write itself whatever balance it likes. Nothing about the supply is fixed and nothing restricts who sets it.
The default it writes when called with zero is 10,000 units.
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
External Links
Related contracts
Contract 0x88277c...e01fe7
Same deployerA copy of the coin contract from the Frontier Guide, the two function token that taught a generation of Ethereum developers to move a balance.
0x88277c...e01fe7September 25, 2015Contract 0x5f4c01...194380
Same deployerA copy of the coin contract from the Frontier Guide, the two function token that taught a generation of Ethereum developers to move a balance.
0x5f4c01...194380September 25, 2015MyToken
Same deployerThe ethereum.org token tutorial, with the default supply set to two hundred million
0xd37405...323cc6September 25, 2015MyToken
Same deployerThe ethereum.org token tutorial, with a default supply of one hundred
0xe378f4...a7717dSeptember 25, 2015Contract 0xf19da8...4e9e70
Same deployerA copy of the coin contract from the Frontier Guide, the two function token that taught a generation of Ethereum developers to move a balance.
0xf19da8...4e9e70September 25, 2015Contract 0xbd0edf...2d9cd7
Same deployerA copy of the coin contract from the Frontier Guide, the two function token that taught a generation of Ethereum developers to move a balance.
0xbd0edf...2d9cd7October 4, 2015