A minimal subcurrency with a faucet mechanic. Call token() to claim 10,000 coins or any amount desired. Deployed Jan 10 2016.
Key Facts
Description
A concise early subcurrency contract featuring a faucet mechanic. Calling token(uint amount) initializes the caller's balance — 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. No owner, no mint function, 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
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;
}
}