Deployment of the classic Solidity tutorial Coin contract with a default supply of 5,000 tokens and a CoinTransfer event.
Key Facts
Description
An early deployment of the Coin contract from the official Solidity tutorial documentation. The contract implements a simple token with a coinBalanceOf mapping, a sendCoin transfer function, and a CoinTransfer event. The constructor accepts a supply parameter with a fallback default of 1,000 if zero is passed. The deployer initialized it with 5,000 tokens.
The same deployer created a sibling contract (0x283f1161...) at block 490,523 with identical bytecode, 22 blocks later. The deployer created 9 contracts total between blocks 321,934 and 508,110, iterating on token designs during the Frontier era.
Source Verified
Exact bytecode match (init + runtime). 314 bytes creation code + 32 bytes constructor args. Native C++ solc required; soljson matches runtime but not init code.
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 Coin(uint supply) {
if (supply == 0) supply = 1000;
coinBalanceOf[msg.sender] = supply;
}
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;
}
}