The seventh iteration of an on-chain messaging system by the most prolific Frontier developer, featuring nonce-based message hashing and delete capability.
Key Facts
Description
A messaging contract deployed at rank 49 (1501b runtime) by deployer 0x8674c218, who deployed 31 contracts during Ethereum Frontier week 1. This iteration uses the same nonce-based message hashing interface as ranks 45 and 46: sendMessage, getMessageContents, getMessageTime, deleteMessage, with per-address tracking via hashes and messages mappings. The varying bytecode sizes across iterations (1197b to 1502b) suggest the developer was tuning the implementation with each redeployment.
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
This contract has verified source code.
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];
}
}