A simple ETH piggy bank contract with deposit events, owner-only collect, and self-destruct. Uses a hardcoded instance ID (88) in deposit events to distinguish
Key Facts
Description
A minimal ETH savings contract deployed on Feb 19, 2016 during the Frontier era. Anyone can deposit ETH by sending a transaction to the contract, which emits a Deposit event with the sender's address, a hardcoded instance ID, and the deposit amount. Only the contract owner (set at deployment) can withdraw the accumulated balance via collect() or destroy the contract via kill().
The contract follows a common Frontier-era pattern of simple ETH vaults with owner-only withdrawal. The hardcoded ID of 88 in the Deposit event suggests this is one instance of a system where multiple piggy bank contracts were deployed, each with a unique identifier, allowing an off-chain service to track deposits across all instances.
The deployer (0x42dA8a05CB7eD9A43572b5BA1B8F82A0a6E263DC) created multiple copies of this contract with different instance IDs. The contract received 200 transactions in 2016 and 66 in 2017.
Source Verified
Exact bytecode match (init + runtime). 64 bytes init, 543 bytes runtime, 607 bytes creation total.
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 PiggyBank {
address owner;
event Deposit(address indexed user, uint256 indexed id, uint256 amount);
function PiggyBank() {
owner = msg.sender;
}
function() {
if (msg.value > 0) {
Deposit(msg.sender, 88, msg.value);
}
}
function kill() {
if (msg.sender == owner) {
suicide(owner);
}
}
function collect() {
if (msg.sender == owner) {
owner.send(this.balance);
}
}
}