An ERC20-like token with mint, freeze, and transfer functionality based on the ethereum.org advanced token tutorial. 1,000,000 GOD tokens with 0 decimals.
Historical Significance
One of many tokens deployed from the ethereum.org token tutorial during the Frontier era. Demonstrates how the official Ethereum documentation served as a template for early token creation, months before the ERC20 standard was formalized. The deployer went on to create Etheroll, showing an early developer's progression from tutorial experiments to production dApps.
Context
Deployed in February 2016 during the Frontier era, compiled with Solidity v0.1.7 with optimizer enabled. The ethereum.org token tutorial was the primary resource for creating tokens at this time, and many early tokens share its exact code patterns including the centralized minter, freeze functionality, and overflow checks.
Token Information
Key Facts
Description
A token contract deployed on Feb 28, 2016, based on the ethereum.org advanced token tutorial's 'Improved Coin' section. Implements the tutorial's centralized administrator pattern with an issuer address that can mint new tokens and freeze accounts.
The contract supports standard token transfers with balance and overflow checks, plus a frozen account check to prevent transfers from frozen addresses. The issuer can create new tokens via mintToken() and freeze or unfreeze any account via freezeAccount(). Unlike the full tutorial version, this contract omits the 'owned' base contract, allowance/approval system, and buy/sell functions, keeping only the core token with admin controls.
Deployed with constructor args: 1,000,000 initial supply, 'Godlcoin' name, 'GOD' symbol, 0 decimals, and no central minter (defaults to deployer as issuer). The transfer function uses a compound condition with short-circuit evaluation for its three safety checks, matching the tutorial's inline style.
The deployer (0xFA5C91c9b4D0BebF79C1963BA13c760fF83Fde09) was highly active during the Frontier era, deploying over 150 contracts between blocks 947,520 and 1,074,263 (late January to February 2016). Many of these appear to be iterative experiments across multiple contract types. The same deployer later deployed Etheroll, one of Ethereum's first on-chain dice games.
Source Verified
Exact bytecode match (init + runtime). 489 bytes init, 1093 bytes runtime, 288 bytes constructor args. Based on ethereum.org advanced token tutorial.
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 Godlcoin {
string public name;
string public symbol;
uint8 public decimals;
address public issuer;
mapping (address => uint256) public balanceOf;
mapping (address => bool) public frozenAccount;
event Transfer(address indexed from, address indexed to, uint256 value);
event FrozenFunds(address target, bool frozen);
function Godlcoin(uint256 initialSupply, string tokenName, uint8 decimalUnits, string tokenSymbol, address centralMinter) {
if (initialSupply == 0) initialSupply = 1000000;
if (centralMinter == 0) centralMinter = msg.sender;
issuer = centralMinter;
balanceOf[centralMinter] = initialSupply;
name = tokenName;
symbol = tokenSymbol;
decimals = decimalUnits;
}
function transfer(address _to, uint256 _value) {
if (balanceOf[msg.sender] < _value || balanceOf[_to] + _value < balanceOf[_to] || frozenAccount[msg.sender]) throw;
balanceOf[msg.sender] -= _value;
balanceOf[_to] += _value;
Transfer(msg.sender, _to, _value);
}
function mintToken(address target, uint256 mintedAmount) {
if (msg.sender != issuer) throw;
balanceOf[target] += mintedAmount;
Transfer(0, target, mintedAmount);
}
function freezeAccount(address target, bool freeze) {
if (msg.sender != issuer) throw;
frozenAccount[target] = freeze;
FrozenFunds(target, freeze);
}
}