Bytecode verified via sibling
This contract shares identical runtime bytecode with MyToken (0xe274d18e...) which has been verified through compiler archaeology.
Byte identical to 0xE274d18EF7b194A1EDEbB04cfE297CFe1489ef65 and deployed two minutes and twelve seconds later from a different account. Supply 10,000.
Historical Significance
The second half of the strongest evidence that the October 2015 token prototypes were a coordinated effort rather than one developer working alone. Its runtime code is byte identical to 0xE274d18EF7b194A1EDEbB04cfE297CFe1489ef65, deployed two minutes and twelve seconds earlier by 0x9b22a80D5c7B3374a05b446081f97d0A34079e7F, the account that would deploy MistCoin at 0xf4eCEd2f682CE333f96f2D8966C613DeD8fC95DD eight days later. This one came from 0xB1a2B43A7433dd150BB82227eD519Cd6b142d382, the account behind most of the October 2015 run that first brought balanceOf, transfer and the Transfer event together on Ethereum mainnet. Same build, two accounts, two minutes apart, in blocks 443,423 and 443,429 on 26 October 2015, twenty four days before ERC-20 was proposed as ethereum/EIPs issue #20 on 19 November 2015.
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.
Key Facts
Description
Deployed 26 October 2015 at 16:11 UTC by 0xB1a2B43A7433dd150BB82227eD519Cd6b142d382, two minutes after 0xE274d18EF7b194A1EDEbB04cfE297CFe1489ef65 and with the same empty constructor argument, so the supply is again the built in default of 10,000. Public balanceOf mapping, lower case balanceof function, transfer returning false on an insufficient balance, unindexed Transfer event, runtime 625 bytes. One call reached it after deployment and no event was emitted. 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
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.
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 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