A minimal subcurrency with a faucet mechanic. Call token() to claim 10,000 coins or any amount desired. Deployed Jan 10 2016.
Historical Significance
A subcurrency that hands out its own units on request, with no sale and no allocation to the deployer. Distribution was the unsolved half of every early token: a fixed supply credited to its creator leaves everyone else with nothing to hold, and a faucet was the simplest answer anyone had before crowdsales and airdrops existed.
Context
Ethereum's Frontier network went live on 30 July 2015. Contracts were compiled and deployed from the geth console, there was no test network in common use, and the material people copied from was the ethereum.org tutorials, the Solidity documentation and the go-ethereum wiki. Almost everything deployed in these months is somebody trying the tools.
Key Facts
Description
A concise early subcurrency contract featuring a faucet mechanic. Calling token(uint amount) initializes the caller's balance, and if amount is 0 it defaults to 10,000 tokens. This pattern allowed open distribution without a pre-mine. The contract uses a single mapping (coinBalanceOf) with a public auto-getter, and emits CoinTransfer events on every transfer. There is no owner, no mint function and no supply cap: anyone can seed their own balance. Based on the classic ethereum.org "Coin" tutorial, this variant strips away the issuer/exchange complexity in favor of simplicity. The three selectors (token, sendCoin, coinBalanceOf) match the tutorial structure exactly. Compiler: Native C++ solc v0.2.0 (commit 67c855c5, Jan 20 2016 build) with --optimize. The optimizer produces EXP-based selector dispatch, compressing the runtime to just 276 bytes.
Source Verified
Historian Categories
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)
contract Coin {
mapping (address => uint) public coinBalanceOf;
event CoinTransfer(address sender, address receiver, uint amount);
function token(uint amount) {
if (amount == 0) amount = 10000;
coinBalanceOf[msg.sender] = amount;
}
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
Contract 0x2f8070...91027d
Same deployerThe ethereum.org tutorial greeter, redeployed verbatim: a stored-greeting greet() over a mortal (owner/kill) base. One of the most-copied early Solidity contrac
0x2f8070...91027dJanuary 10, 2016token
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