Bytecode verified via sibling
This contract shares identical runtime bytecode with token (0xdbb576b5...) which has been verified through compiler archaeology.
The Frontier Guide's Coin tutorial contract: a pre-ERC-20 token with coinBalanceOf, sendCoin and a CoinTransfer event.
Historical Significance
The Frontier Guide's Coin contract was the standard worked example for issuing a currency on Ethereum, published more than a year before ERC-20 existed. It shows the pre-standard vocabulary the ecosystem used at the time: coinBalanceOf rather than balanceOf, sendCoin rather than transfer, and a CoinTransfer event rather than Transfer. Contracts like this are the direct ancestors of the token standard that replaced them.
Context
Deployed 2015-08-30 by 0x6d134bff5434a4cce5992a7fb698ec4755a9b601. Thirty-five byte-identical copies of this runtime appear in the Ethereum History archive as undocumented Frontier contracts, deployed by ten distinct addresses between 2015-08-08 and 2015-09-21. One address accounts for twenty of them; the remaining fifteen are spread across nine others, consistent with a mix of repeated experimentation and independent readers working through the same tutorial.
Key Facts
Description
A minimal pre-standard token. The constructor credits the deployer with the supply argument, falling back to 10000 via the old Solidity expression (supply || 10000). sendCoin(address,uint256) returns false instead of reverting when the sender's balance is short, debits and credits two entries of the public coinBalanceOf mapping, and emits CoinTransfer. The runtime is 495 bytes and dispatches two selectors: sendCoin(address,uint256) at 0x90b98a11 and the mapping getter coinBalanceOf(address) at 0xbbd39ac0. There is no allowance mechanism, no total supply accessor and no owner privilege.
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 on Etherscan.
Show source code (Solidity)
contract token {
mapping (address => uint) public coinBalanceOf;
event CoinTransfer(address sender, address receiver, uint amount);
function token(uint supply) {
coinBalanceOf[msg.sender] = (supply || 10000);
}
function sendCoin(address receiver, uint amount) returns(bool sufficient) {
if (coinBalanceOf[msg.sender] < amount) return false;
coinBalanceOf[msg.sender] -= amount;
coinBalanceOf[receiver] += amount;
CoinTransfer(msg.sender, receiver, amount);
return true;
}
}External Links
Related contracts
Greeter
Same deployerA Frontier-era Greeter with the message: 'Dan sulez the world!'
0x5aa3ac...da12ecAugust 20, 2015token
Same eraAn early ERC-20-like token deployed in Ethereum's first week, built directly from the example in the official Ethereum Frontier Guide documentation.
0x8374f5...46609aAugust 7, 2015token
Same eraA second deployment of the FirstCoin tutorial token by the same creator, 11 blocks after the original — both derived from the official Ethereum Frontier Guide e
0x3b4446...295f52August 7, 2015Contract 0xd958b5...ec4c9f
Same eraEthereum.org tutorial Coin contract deployed on Frontier day 1. Contains a bug: balance(address) ignores its argument and returns msg.sender balance.
0xd958b5...ec4c9fAugust 7, 2015token
Same eraEarly tutorial-derived coin contract compiled with Solidity v0.1.1, deployed 9 days after Ethereum Frontier launch.
0x3c401b...da1634August 8, 2015token
Same eraTutorial-derived coin contract (Solidity v0.1.1), one of multiple token instances deployed by the same address on Aug 8, 2015.
0x33e986...395d13August 8, 2015