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.
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);
}
}