A redeployment six minutes later of the same unfinished messaging contract, byte for byte identical.
Historical Significance
An on-chain messaging contract deployed on 8 August 2015 by 0x8674c218f0351a62c3ba78c34fd2182a93da94e2, the most prolific deployer of Ethereum's second day, six minutes after an identical one at 0x59622442b567187157b85d6928a6c56e1e0841ca and with byte for byte the same code. Messages live in mapping (address => mapping (bytes32 => Message)) where Message pairs a uint64 timestamp with a string body, alongside mapping (address => bytes32[]) hashes and a uint nonce that would have supplied each message its key. Recipients read their own mail through getMessageHashes, getMessageTime and getMessageContents, all keyed on msg.sender, and deleteMessage clears the stored message and then scans the caller's hash list and zeroes the matching entry. sendMessage is the unfinished part: it takes a recipient and a string, decodes both, and does nothing with them except advance the nonce. Source recovered by exact bytecode match: solc v0.1.1+commit.6ff4cd6 with the optimizer on reproduces all 1216 bytes of the creation transaction.
Context
Deployed 8 August 2015, the second day of the Ethereum Frontier network.
Key Facts
Description
An on-chain messaging contract deployed on 8 August 2015 by 0x8674c218f0351a62c3ba78c34fd2182a93da94e2, the most prolific deployer of Ethereum's second day, six minutes after an identical one at 0x59622442b567187157b85d6928a6c56e1e0841ca and with byte for byte the same code. Messages live in mapping (address => mapping (bytes32 => Message)) where Message pairs a uint64 timestamp with a string body, alongside mapping (address => bytes32[]) hashes and a uint nonce that would have supplied each message its key. Recipients read their own mail through getMessageHashes, getMessageTime and getMessageContents, all keyed on msg.sender, and deleteMessage clears the stored message and then scans the caller's hash list and zeroes the matching entry. sendMessage is the unfinished part: it takes a recipient and a string, decodes both, and does nothing with them except advance the nonce. Source recovered by exact bytecode match: solc v0.1.1+commit.6ff4cd6 with the optimizer on reproduces all 1216 bytes of the creation transaction.
Source Verified
near_exact_match: same 7-selector interface as ranks 45/46 MessagingContract v3 (hashes, messages, getMessageTime, getMessageContents, sendMessage, deleteMessage, nonce). All selectors confirmed via openchain.xyz. Same deployer (0x8674c218).
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).
Show source code (Solidity)
contract Messaging {
mapping(bytes32 => string) messageContents;
mapping(bytes32 => uint) messageTime;
mapping(address => bytes32[]) public hashes;
mapping(address => mapping(bytes32 => bool)) public messages;
uint public nonce;
function sendMessage(address to, string content) {
bytes32 h = sha3(msg.sender, to, content, nonce++);
messageContents[h] = content;
messageTime[h] = block.timestamp;
hashes[to].push(h);
}
function getMessageContents(bytes32 hash) constant returns (string) {
return messageContents[hash];
}
function getMessageTime(bytes32 hash) constant returns (uint) {
return messageTime[hash];
}
function deleteMessage(bytes32 hash) {
delete messageContents[hash];
delete messageTime[hash];
}
}External Links
Related contracts
Ponzi
Same deployerA 102 percent pay-forward queue from 8 August 2015 that reverts on every deposit, appending to an array it never lengthens.
0xce44c7...75f579August 8, 2015MessagingContract
Same deployerAn early messaging contract on Ethereum, allowing users to send on-chain messages stored by content hash.
0xdc884e...45f48bAugust 8, 2015MessagingContract v2
Same deployerAn upgraded on-chain messaging contract with per-address message tracking and delete functionality, from the same Frontier developer who built the simpler Messa
0x18991f...dfff72August 8, 2015MessageStore
Same deployerA 6-line contract storing a single public string, deployed Day 9 of Ethereum by a prolific early experimenter who shipped 18 contracts in one week.
0xd2eccd...ff3d6bAugust 8, 2015OnChainProfile
Same deployerAug 8 2015 deploy by 0x8674c218 — one of the most prolific contract deployers of Ethereum's first day. Sibling of the verified MessagingContract / Ponzi / Messa
0x4ab020...f9d97dAugust 8, 2015MessagingContract
Same deployerAn on-chain messaging contract with per-address tracking and delete functionality, by the same Frontier developer who iterated on messaging across four deployme
0x97b29a...7c3532August 8, 2015