Back to Home

Contract 0xf19da8c033e2...25f1674e9e70

Token
0xf19da8c033e2...25f1674e9e70
FrontierContract #1,564Exact Bytecode MatchEdit this contract
Deployed September 25, 2015 (10 years ago)Block 286,344

A copy of the coin contract from the Frontier Guide, the two function token that taught a generation of Ethereum developers to move a balance.

Frontier EraVerified Source

Historical Significance

The coin contract from the Frontier Guide, whose tutorial text lives in the go-ethereum wiki: one public mapping of address to balance, one sendCoin(address,uint256) that checks the sender's balance, moves the amount and fires a CoinTransfer event. There is no allowance, no total supply and no decimals; this predates ERC-20 and is the shape every early token was written against. The guide names the contract token, and that is the name recovered here, since the constructor shares it and so never appears in the dispatch table. Its constructor takes a supply and falls back to 10000 when zero is passed, written as an if. This copy was deployed with 10000. The declaration order differs from the guide as it was usually pasted, with the balance mapping written below sendCoin rather than above it, which swaps the two function bodies in the compiled output 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. Note that this contract was verified on Etherscan under the name FirstCoin, which is not a name the guide uses; Etherscan accepts one verification per address and will not take a correction.

Context

Deployed in 2015 on the Ethereum Frontier network.

Key Facts
Deployment Block
286,344
Deployment Date
Sep 25, 2015, 03:35 AM
Code Size
640.0 B
Gas at Deploy
177,561

Description

The coin contract from the Frontier Guide, whose tutorial text lives in the go-ethereum wiki: one public mapping of address to balance, one sendCoin(address,uint256) that checks the sender's balance, moves the amount and fires a CoinTransfer event. There is no allowance, no total supply and no decimals; this predates ERC-20 and is the shape every early token was written against. The guide names the contract token, and that is the name recovered here, since the constructor shares it and so never appears in the dispatch table. Its constructor takes a supply and falls back to 10000 when zero is passed, written as an if. This copy was deployed with 10000. The declaration order differs from the guide as it was usually pasted, with the balance mapping written below sendCoin rather than above it, which swaps the two function bodies in the compiled output 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. Note that this contract was verified on Etherscan under the name FirstCoin, which is not a name the guide uses; Etherscan accepts one verification per address and will not take a correction.

Source Verified

Exact bytecode match(640 bytes)
Compiler: v0.1.2+
Heuristic Analysis

The following characteristics were detected through bytecode analysis and may not be accurate.

Detected Type: Token
Has ERC-20-like patterns

Bytecode Overview

Opcodes640
Unique Opcodes80
Jump Instructions15
Storage Operations8

External Links

Related contracts