Bytecode verified via sibling
This contract shares identical runtime bytecode with a verified contract (0x88fc9a87...) which has been verified through compiler archaeology.
A two-function token, one identifier apart from its twin
Context
Frontier and Homestead era deployment.
Key Facts
Description
A minimal token: one public mapping of balances, a transfer that returns false rather than throwing when the sender is short, and a Transfer event. It is the same contract published at 0x00576287d3263ba831c8cf0886f06537e0515a2c with one identifier changed - the public mapping is called balances there and balanceOf here, or the other way round depending which you read first - and that single rename moves the generated getter from balanceOf(address) to balances(address), which is the whole of the twelve bytes separating the two deployments. The contract kept its own name: MyToken(uint) never reaches the dispatcher, so it is still the constructor. Both copies came from the same deployer twelve blocks apart.
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 balances;
event Transfer(address _from, address _to, uint256 _value);
function MyToken(uint supply) {
if (supply == 0) supply = 10000;
balances[msg.sender] = supply;
}
function transfer(address _to, uint256 _value) returns (bool success) {
if (balances[msg.sender] < _value) return false;
balances[msg.sender] -= _value;
balances[_to] += _value;
Transfer(msg.sender, _to, _value);
return true;
}
function balanceof(address _owner) constant returns (uint256 balance) {
return balances[_owner];
}
}External Links
Related contracts
MyToken
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, 2015Contract 0xe65129...ec0c13
Same deployerThe same token code as 0x3C655ccb35666579511489af88153517fc58b017, redeployed the same afternoon with a supply of 1,000.
0xe65129...ec0c13October 23, 2015MyToken
Same deployerThe October 2015 prototype where balances moved into a public balanceOf mapping, with a lower case balanceof function returning the same value.
0xcae62d...7a2b8bOctober 23, 2015Contract 0x11485c...304094
Same deployerIdentical token code to 0xCAe62D22E8480b230d7aD93039167a0FfA7A2B8B, redeployed four minutes later with the same 200,000 supply. No transfer was ever made.
0x11485c...304094October 23, 2015MyToken
Same deployerByte identical to 0xE274d18EF7b194A1EDEbB04cfE297CFe1489ef65 and deployed two minutes and twelve seconds later from a different account. Supply 10,000.
0x005762...515a2cOctober 26, 2015Contract 0x88fc9a...ad2c68
Same deployerA two-function token, one identifier apart from its twin
0x88fc9a...ad2c68October 27, 2015