Back to Home

Pinger

Utility
0x128561d27a26...0ef15b4128bc
FrontierContract #3,473Exact Bytecode MatchEdit this contract
Deployed November 7, 2015 (10 years ago)Block 505,052

A November 2015 test harness that calls move(uint8) back on whoever pings it, cycling through four directions.

Frontier EraVerified Source

Historical Significance

A test harness for contract to contract calls, from the period when it was not obvious that a contract could call back into its caller at all. Driving a counterparty through a cycle of states from the outside is how the reentrancy behaviour of the EVM was first explored, well before it was understood as a hazard.

Context

Deployed in 2015 on the Ethereum Frontier network.

Key Facts
Deployment Block
505,052
Deployment Date
Nov 7, 2015, 06:18 PM
Code Size
206.0 B
Gas at Deploy
70,767

Description

ping() counts how many times it has been called and calls move(uint8) on msg.sender with that count modulo four, so a contract that pings it repeatedly is driven through directions 0, 1, 2, 3 and round again. times_called() reads the counter and reset() puts it back to zero, both unguarded. The call is made blind: nothing checks that the caller has a move function, and the return value is discarded. Source recovered by exact bytecode match: solc v0.1.6+commit.d41f8b7c with the optimizer on reproduces all 206 bytes of the creation transaction.

Source Verified

Exact bytecode match(206 bytes)
Compiler: v0.1.6+
Heuristic Analysis

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

Detected Type: Utility

Bytecode Overview

Opcodes206
Unique Opcodes62
Jump Instructions8
Storage Operations5

External Links

Related contracts