Back to Home

Pong (minimal)

program
0x4f87915ac802...8de242ef366f
FrontierContract #829Exact Bytecode MatchEdit this contract
Deployed September 4, 2015 (10 years ago)Block 185,494

A minimal Pong contract with an int8 getter/setter and owner-only selfdestruct. Simpler predecessor to the tutorial Pong at 0x3a0cc907.

Key Facts

Deployer
Cyrus Adkisson(0xcf684D...AD1Bac)
Deployment Block
185,494
Deployment Date
Sep 4, 2015, 10:47 PM
Code Size
452.0 B
Gas at Deploy
143,537
Transactions by Year
20152

Description

A minimal version of the Pong contract deployed by Cyrus Adkisson as part of his Solidity learning progression. This is a simpler predecessor to the full tutorial Pong contract (0x3a0cc907), containing only three functions: setPongval(int8) to set a value, getPongval() to read it, and kill() for owner-only selfdestruct.

Unlike the later tutorial Pong (46_pong_via_send.sol, deployed Sep 22 at block 274,266), this version has no constructor parameters, no getPongvalTransactional(), no getAddress(), and no pongval_tx_retrieval_attempted tracking. It represents the earliest iteration of the Pong concept before Cyrus expanded it for the inter-contract communication tutorial.

The contract was selfdestructed after testing. Source code was reconstructed from bytecode disassembly and confirmed via exact creation bytecode match with soljson v0.1.1 (optimizer OFF).

Source Verified

SolidityExact bytecode match(452 bytes)
Compiler: soljson

Exact creation bytecode match (452 bytes = 64 init + 388 runtime). soljson v0.1.1 optimizer OFF. Init terminator f3 00 confirms v0.1.1. Contract is selfdestructed. This is a simpler contract than the tutorial Pong at 0x3a0cc907 (46_pong_via_send.sol).

Heuristic Analysis

The following characteristics were detected through bytecode analysis and may not be accurate.

Detected Type: program

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

Opcodes452
Unique Opcodes62
Jump Instructions14
Storage Operations7

Verified Source Available

Source verified through compiler archaeology and exact bytecode matching.

View Verification Proof
Show source code (Solidity)
contract Pong {
    address owner;
    int8 pongval;

    function Pong() {
        owner = msg.sender;
    }

    function setPongval(int8 val) {
        pongval = val;
    }

    function getPongval() returns (int8) {
        return pongval;
    }

    function kill() {
        if (msg.sender == owner) suicide(owner);
    }
}

External Links