A token whose balances live in a public mapping named balanceOf, plus a lower case balanceof function returning the same value. Supply 200,000, never used.
Key Facts
Description
Deployed 23 October 2015 by 0xB1a2B43A7433dd150BB82227eD519Cd6b142d382. The storage is a public mapping named balanceOf, which gives selector 0x70a08231, and the contract also declares a function balanceof spelled entirely in lower case, selector 0x3d64125b, whose body returns the same slot. The two bodies compile to identical bytes, so the dispatcher is the only place in the runtime that records which name is which. transfer returns false on an insufficient balance and emits an unindexed Transfer. Constructor supply 200,000. 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.
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
MyToken
Same deployerA minimal token: public balanceOf mapping, and a transfer that returns false on insufficient balance instead of throwing. Supply 1,000,000, never used.
0x3c655c...58b017October 23, 2015Contract 0xe65129...ec0c13
Same deployerThe same minimal token code as 0x3C655ccb35666579511489af88153517fc58b017, redeployed hours later with a supply of 1,000. It never moved a balance.
0xe65129...ec0c13October 23, 2015Contract 0x11485c...304094
Same deployerIdentical token code to 0xCAe62D22E8480b230d7aD93039167a0FfA7A2B8B, deployed four minutes later with the same 200,000 supply. No transfer was ever made.
0x11485c...304094October 23, 2015MyToken
Same deployerA redeploy of the 10,000 supply token two minutes after 0xE274d18EF7b194A1EDEbB04cfE297CFe1489ef65. One call reached it and emitted no Transfer event.
0x005762...515a2cOctober 26, 2015MyToken
Same deployerA token holding balances in a public mapping named balances, read through balanceOf. Supply 132,325,360, and it was used: eight Transfer events.
0x27cb40...e0c0edOctober 27, 2015MyToken
Same deployerA token that indexes both address parameters of its Transfer event, making transfers filterable by sender and recipient. Supply 10,000, never used.
0x22d9d0...79e949October 27, 2015