A 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
Historical Significance
Together with its predecessor at block 49,853, this contract illustrates the iterative, experimental nature of early Ethereum development. Within Ethereum's first week, the same developer deployed the same tutorial contract twice — a reminder that the network's earliest days involved learning and exploration rather than production-grade applications.
Context
Both FirstCoin contracts were deployed in the Frontier era, Ethereum's initial release period characterized by command-line tooling (Geth), no consumer interfaces, and a developer-first user base. Contracts were deployed by developers testing the official documentation, not end users. The ERC-20 token standard would not be proposed until November 2015 and finalized in 2017.
Key Facts
Description
This is the second of two FirstCoin deployments made by creator address 0x3d0768da at block 49,864 on August 7, 2015, 11 blocks after the first deployment at block 49,853. Both contracts are identical in source code — a renamed copy of the token example from the Ethereum Frontier Guide with a hardcoded supply of 1,000,000.
The reason for the duplicate deployment is not recorded. Possible explanations include a failed first deployment that was redeployed, a test to verify that a re-deployment worked, or simply repeated experimentation during Ethereum's first week. The creator also deployed at least six other contracts during this period.
The contract implements a minimal token: a coinBalanceOf mapping, a sendCoin transfer function, and a CoinTransfer event. Like its predecessor, it predates the ERC-20 standard and has no approval or allowance mechanism.
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;
}
}