The last and smallest of the October 2015 prototypes at 211 bytes of runtime, compiled with the optimizer on. Supply 3,000, and it emitted four Transfer events.
Historical Significance
The final deployment in the October 2015 run that first brought balanceOf, transfer and the Transfer event together on Ethereum mainnet, in block 462,663 on 30 October 2015. It is the smallest of the nine at 211 bytes of runtime, the only one compiled with the optimizer on, and one of the two that ever moved a balance, emitting four Transfer events. The balance mapping went back to private with balanceOf as its accessor, and the Transfer event keeps the indexed addresses introduced three days earlier. Four days later, on 3 November 2015, 0x9b22a80D5c7B3374a05b446081f97d0A34079e7F deployed MistCoin at 0xf4eCEd2f682CE333f96f2D8966C613DeD8fC95DD, the first contract on mainnet to carry balanceOf, transfer and Transfer along with a name, a symbol and a decimal place, and so the first a wallet could render as a token. This is the last of the prototypes that preceded it.
Context
Ethereum's Frontier network went live on 30 July 2015. Contracts were compiled and deployed from the geth console, there was no test network in common use, and the material people copied from was the ethereum.org tutorials, the Solidity documentation and the go-ethereum wiki. Almost everything deployed in these months is somebody trying the tools.
Token Information
Key Facts
Description
Deployed 30 October 2015 by 0xB1a2B43A7433dd150BB82227eD519Cd6b142d382. This is the first of the run compiled with the optimizer on, which is why it is 211 bytes rather than 600: the address mask is computed as 2**160 - 1 instead of pushed as twenty bytes of ff, and the two functions share a single return block. Balances sit in an unexported mapping read through a balanceOf function, and the Transfer event indexes both addresses. Constructor supply 3,000. Four Transfer events were emitted over its life. Source recovered by compiling against solc v0.1.6+commit.d41f8b7c with the optimizer on, 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) balances;
event Transfer(address indexed _from, address indexed _to, uint256 _value);
function MyToken(uint supply) {
if (supply == 0) supply = 10000;
balances[msg.sender] = supply;
}
function balanceOf(address _owner) constant returns (uint256 balance) {
return balances[_owner];
}
function transfer(address _to, uint256 _value) returns (bool success) {
if (balances[msg.sender] < _value) return;
balances[msg.sender] -= _value;
balances[_to] += _value;
Transfer(msg.sender, _to, _value);
return true;
}
}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