A minimal Pong contract with an int8 getter/setter and owner-only selfdestruct. Simpler predecessor to the tutorial Pong at 0x3a0cc907.
Key Facts
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
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.
Frontier Era
The initial release of Ethereum. A bare-bones implementation for technical users.
Bytecode Overview
Verified Source Available
Source verified through compiler archaeology and exact bytecode matching.
View Verification ProofShow 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);
}
}