A deployment of the nonce-based messaging contract, identical interface to rank 45 but by a different deployer.
Historical Significance
Part of the earliest on-chain messaging experiments on Ethereum Frontier.
Context
Deployed during Ethereum Frontier week 1 as part of a series of messaging contract iterations.
Key Facts
Description
A messaging contract deployed at block 54,329 (August 2015) with the same function interface as rank 45, including the nonce counter for unique message hashing. Deployed by a different address, suggesting the source code was shared or published as a tutorial.
Source Verified
near_exact_match: reconstructed source with nonce-based sha3 hashing. All selectors confirmed via openchain.xyz (including affed0e0=nonce()).
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];
}
}