Deployed by the account that deployed MistCoin eight days later. No constructor argument was given, so the supply fell to the built-in default of 10,000.
Historical Significance
In all of 2015 the account 0x9b22a80D5c7B3374a05b446081f97d0A34079e7F deployed exactly two contracts carrying token vocabulary. One is MistCoin at 0xf4eCEd2f682CE333f96f2D8966C613DeD8fC95DD. The other is this one, in block 443,423 on 26 October 2015, eight days earlier. Its runtime code is byte identical to 0x00576287D3263ba831C8cf0886f06537e0515A2C, which 0xB1a2B43A7433dd150BB82227eD519Cd6b142d382 deployed two minutes and twelve seconds afterwards. Two separate accounts putting the same build on mainnet two minutes apart places this account inside the October 2015 run that first brought balanceOf, transfer and the Transfer event together on Ethereum mainnet rather than beside it, and it is the clearest evidence in the record that the run was worked on by more than one person. The chain does not name them. Deployed twenty four days before ERC-20 was proposed as ethereum/EIPs issue #20 on 19 November 2015.
Context
Deployed 26 October 2015 by 0x9b22a80D5c7B3374a05b446081f97d0A34079e7F, three days after the 200,000 supply deployments and from the same source. The creation transaction carries no constructor argument, so the supply parameter arrives as zero and the constructor's own guard substitutes 10,000. Public balanceOf mapping, a lower case balanceof function returning the same slot, transfer returning false on an insufficient balance, unindexed Transfer event, runtime 625 bytes. Its only transaction is its creation.
Source recovered by compiling against solc v0.1.6+commit.d41f8b7c with the optimizer off, reproducing both the deployed runtime and the creation bytecode exactly.
Token Information
Key Facts
Description
This contract was deployed on October 26, 2015 (block 443,423) by address 0x9b22a80d5c7b3374a05b446081f97d0a34079e7f, identified as Fabian Vogelsteller.
Deployed eight days before MistCoin (November 3, 2015), this minimal token contract appears to be an early prototype of the token mechanics Fabian was developing at the time. The constructor defaults to 10,000 supply if called with 0. It includes a public balanceof mapping (lowercase) and an explicit balanceOf function (camelCase), resulting in two distinct function selectors for balance lookups. Transfer events use non-indexed parameters (LOG1).
Fabian Vogelsteller authored web3.js and co-authored EIP-20 (the ERC-20 token standard). MistCoin, deployed eight days after this contract, became the first notable ERC-20 token and is still traded today.
Source Verified
Source reconstructed as MyToken.sol. Compiler soljson-v0.1.5+commit.23865e39, optimizer OFF. Compiled output matches 622 of 625 runtime bytes. The 3-byte difference is a dispatch table body placement swap between the auto-generated balanceof getter and the explicit balanceOf function. Both bodies are byte-for-byte identical (same mapping slot read). No compiler version or source ordering tried produces the on-chain body placement order, likely a pre-release nightly between v0.1.4 and v0.1.5.
Historian Categories
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 (near-exact bytecode match).
View Verification ProofShow source code (Solidity)
contract MyToken {
mapping (address => uint) public balanceof;
event Transfer(address _from, address _to, uint256 _value);
function MyToken(uint supply) {
if (supply == 0) supply = 10000;
balanceof[msg.sender] = supply;
}
function transfer(address _to, uint256 _value) returns (bool success) {
if (balanceof[msg.sender] < _value) return false;
balanceof[msg.sender] -= _value;
balanceof[_to] += _value;
Transfer(msg.sender, _to, _value);
return true;
}
function balanceOf(address _owner) constant returns (uint256 balance) {
return balanceof[_owner];
}
}External Links
Related contracts
Wallet
Same deployerThe multisig wallet contract of the Ethereum Wallet dapp, put on mainnet by Fabian Vogelsteller on 20 August 2015.
0x1414de...97073eAugust 20, 2015WalletProxy
Same deployer45-byte factory-generated wallet proxy forwarding via CALLCODE to a shared EF multi-sig Wallet (0x4efc6389). Variant without the success-check. Deployed by Fabian Vogelsteller.
0xf6ed6e...f510cfAugust 20, 2015WalletProxy
Same deployer49-byte factory-generated wallet proxy. Forwards all calls via CALLCODE to the shared Ethereum Foundation multi-sig Wallet at 0x273930d2. One of a series deployed by Fabian Vogelsteller.
0x816c42...41ff55August 20, 2015Wallet
Same deployerA 49-byte CALLCODE forwarder for an early Ethereum multi-sig wallet, delegating every call to Gav Wood's shared wallet library.
0x2a4ac2...ad3372September 30, 2015Wallet
Same deployerA 49-byte CALLCODE forwarder for an early Ethereum multi-sig wallet, delegating every call to Gav Wood's shared wallet library.
0x8465da...2ea01cSeptember 30, 2015Wallet
Same deployerA 49-byte CALLCODE forwarder for an early Ethereum multi-sig wallet, delegating every call to Gav Wood's shared wallet library.
0x37ec98...fd4d3fOctober 8, 2015