Bytecode verified via sibling
This contract shares identical runtime bytecode with MyToken (0xcae62d22...) which has been verified through compiler archaeology.
Identical token code to 0xCAe62D22E8480b230d7aD93039167a0FfA7A2B8B, redeployed four minutes later with the same 200,000 supply. No transfer was ever made.
Historical Significance
The fourth deployment in the October 2015 run that first brought balanceOf, transfer and the Transfer event together on Ethereum mainnet, in block 427,265 on 23 October 2015, four minutes after 0xCAe62D22E8480b230d7aD93039167a0FfA7A2B8B and from the same account, 0xB1a2B43A7433dd150BB82227eD519Cd6b142d382. Runtime code and constructor arguments both match that contract, which is what marks this as a prototyping run rather than a set of independent tokens: the same build went on mainnet twice in four minutes with nothing changed. Deployed twenty seven days before ERC-20 was proposed as ethereum/EIPs issue #20 on 19 November 2015.
Context
Deployed 23 October 2015 at 12:34 UTC by 0xB1a2B43A7433dd150BB82227eD519Cd6b142d382, four minutes after 0xCAe62D22E8480b230d7aD93039167a0FfA7A2B8B and with the same constructor argument of 200,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. One call reached it after deployment and it emitted no events.
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
A token from the ethereum.org tutorial. Balances sit in a public balanceOf mapping and transfer(to, value) moves them, throwing rather than returning false when the sender is short and checking the recipient's balance for overflow before adding to it.
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 through compiler archaeology and exact bytecode matching.
View Verification ProofShow source code (Solidity)
// Submitted by EthereumHistory (ethereumhistory.com)
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 deployerGav Wood's multi-sig, daily-limited wallet: the shared implementation that 111 Frontier-era 49-byte forwarders CALLCODE into.
0x273930...2220a2August 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.
0xf5d2ae...8d9533August 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.
0x0ace96...0d68b1September 15, 2015Wallet
Same deployerA 49-byte CALLCODE forwarder for an early Ethereum multi-sig wallet, delegating every call to Gav Wood's shared wallet library.
0xbda7ae...d15497September 15, 2015Wallet
Same deployerA 49-byte CALLCODE forwarder for an early Ethereum multi-sig wallet, delegating every call to Gav Wood's shared wallet library.
0x035e62...4c3b00September 28, 2015MyToken
Same deployerThe first contract on Ethereum mainnet to carry balanceOf, transfer and a Transfer event together, deployed 23 October 2015 with a supply of 1,000,000.
0x3c655c...58b017October 23, 2015