One of the earliest smart contracts on Ethereum, deployed August 7, 2015 (block 48,790). A pure function that finds the smallest prime factor of any number.
Key Facts
Description
PrimeChecker was deployed on August 7, 2015, just eight days after Ethereum's mainnet launch. It contains a single function, smallestfactor(uint), which finds the smallest prime factor of a given number using trial division.
The contract was deployed twice within 9 minutes at blocks 48,790 and 48,827, producing identical bytecode both times. The deployer (0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B, Vitalik Buterin's known address) was likely testing deployment mechanics during Ethereum's earliest days.
The function name smallestfactor is entirely lowercase, an uncommon style choice. The selector (0xb19eaf1e) does not appear in any public function signature database. The contract has no constructor, no state variables, and no events. It is a pure computational function on-chain.
Source Verified
Exact bytecode match (154 bytes). Compiled with soljson v0.1.1 (no optimizer). The function selector 0xb19eaf1e is not in any public database. Identical bytecode deployed twice at blocks 48,790 and 48,827.
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 Source CodeShow source code (Solidity)
contract PrimeChecker {
function smallestfactor(uint n) returns (uint) {
if (n % 2 == 0) return 2;
uint i = 3;
while (i * i <= n) {
if (n % i == 0) return i;
i += 2;
}
return n;
}
}