Back to Home

MessagingContract v3

other
0x59622442b567...c56e1e0841ca
FrontierContract #46Source Verified
Deployed August 8, 2015 (10 years ago)Block 54,329

A deployment of the nonce-based messaging contract, identical interface to rank 45 but by a different deployer.

Key Facts

Deployment Block
54,329
Deployment Date
Aug 8, 2015, 04:45 PM
Code Size
1.2 KB
Gas at Deploy
340,017
Transactions by Year
20152

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

SolidityNear-exact bytecode match
Compiler: soljson

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.

Detected Type: other

Frontier Era

The initial release of Ethereum. A bare-bones implementation for technical users.

Block span: 01,149,999
July 30, 2015March 14, 2016

Bytecode Overview

Opcodes1,216
Unique Opcodes93
Jump Instructions59
Storage Operations25

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];
    }
}

External Links