Back to Home

MessagingContract

Unclassified
0xb9371963069c...5fc90cb6743b
FrontierContract #47Source VerifiedEdit this contract
Deployed August 8, 2015 (11 years ago)Block 54,347

A redeployment six minutes later of the same unfinished messaging contract, byte for byte identical.

Frontier EraVerified Source

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
Deployment Block
54,347
Deployment Date
Aug 8, 2015, 04:51 PM
Code Size
1.2 KB
Gas at Deploy
340,017
Transactions by Year
20151

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

SolidityNear-exact bytecode match
Compiler: soljson

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.

Detected Type: Unclassified

Bytecode Overview

Opcodes1,216
Unique Opcodes93
Jump Instructions59
Storage Operations25

External Links

Related contracts