Back to Home

MovieVoting

program
0x8bbf81e9a8e9...d621e269c7f7
FrontierContract #23Exact Bytecode Match
Deployed August 8, 2015 (10 years ago)Block 51,128

A Frontier Day 1 movie voting contract where users send ETH to permanently rank movies on-chain — one of the earliest interactive dApps on Ethereum.

Key Facts

Deployment Block
51,128
Deployment Date
Aug 8, 2015, 02:09 AM
Code Size
292.0 B
Gas at Deploy
93,873
Transactions by Year
20155
20261

Description

A simple movie voting contract deployed on Ethereum's first full day of operation. Users call vote(bytes32) with ETH attached to cast votes for movies identified by their bytes32-encoded names. The contract tracks cumulative bids per movie in a mapping, maintains a dynamic array of unique movie entries, and counts total movies via movie_num. If a movie receives its first vote, it gets added to the movies array.

The deployer voted for "eXistenZ" (the 1999 David Cronenberg science fiction film) with bids ranging from 0.001 to 0.01 ETH. The deployer created five contracts total on Day 1, iterating on this design. The contract still holds 0.011 ETH from 2015.

The same deployer created the SciFi contract one day later at block 51,291. Both contracts share the same voting logic and a distinctive coding pattern: the developer reads bids[movie] into a temporary variable for the zero check but then writes back with bids[movie] += msg.value directly, causing a redundant storage read. The SciFi version uses a fixed-size bytes32[1000000000] array instead of a dynamic array and was compiled with v0.1.4 instead of v0.1.1.

Source Verified

SolidityExact bytecode match(292 bytes)
Compiler: soljson

Runtime: exact match (273 bytes). Creation: exact match (292 bytes). Proved by @lecram2025 (DeadDefi).

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

Opcodes292
Unique Opcodes84
Jump Instructions20
Storage Operations11

Verified Source Available

Source verified through compiler archaeology and exact bytecode matching.

View Verification Proof
Show source code (Solidity)
contract MovieVoting {
    mapping(bytes32 => uint) public bids;
    bytes32[] public movies;
    uint public movie_num;
    function vote(bytes32 movie) {
        if (msg.value == 0) return;
        uint b = bids[movie];
        if (b == 0) {
            movies[movie_num++] = movie;
        }
        bids[movie] += msg.value;
    }
}

External Links