Quota game token whose successful mint drains the contract reserve when the modulo target hits 1.
Historical Significance
HaHaCoin is the most theatrical of the quota coins: rather than paying a small scheduled reward, a qualifying mint drains the whole reserve in one shot. It captures how quickly this deployer iterated from plain ledgers to monetary puzzles, all before ERC-20 conventions had settled.
Context
Deployed Feb 8, 2016 at 15:31 UTC by 0xcd7642260fb84ce6d28730f6579d4f6ab26c8369, HaHaCoin followed NonceCoin by 24 minutes and preceded CoolCoin by under an hour. It belongs to the same named-coin sequence of LoveCoin, InflateCoin, MintCoin, NonceCoin, HaHaCoin, and CoolCoin. EthereumHistory currently records one 2016 transaction and one 2024 transaction for HaHaCoin, a minimal but still visible second-life trace on chain.
Token Information
Key Facts
Description
HaHaCoin (HHC), deployed Feb 8, 2016 at block 973,306, is a quota-driven token built from the same organizer / name / symbol / decimals / target / quota / balanceOf layout as the nearby experiments. Mint(value) only proceeds when the caller supplies the current quota, then updates target = quota % 3; when the target equals 1, the caller receives the contract's entire remaining token balance. Its transfer path also has the family's sticky-address quirk: sending tokens back to the contract credits double. Runtime and creation bytecode are exactly reproduced with soljson v0.1.7+commit.b4e666cc, optimizer on.
Source Verified
Exact creation and runtime bytecode match. Runtime: 1042 bytes, creation: 1760 bytes. Runtime SHA-256 eeeb9a2a779faf554991a26743179520238919f8df058fb42272e304cd98f57c. Creation SHA-256 7d7b3b8e301735a5e04805a5d18499cb079e88036c74eaec9a11a26b49c6ffd4.
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 HaHaCoin {
address public organizer;
string public name;
string public symbol;
uint8 public decimals;
uint256 public target;
uint256 public quota;
mapping (address => uint256) public balanceOf;
event Transfer(address indexed _from, address indexed _to, uint256 _value);
function HaHaCoin(uint256 _target, string _name, string _symbol, uint8 _decimals) {
if (_target == 0) _target = 10000;
organizer = msg.sender;
address t = this;
balanceOf[t] = _target;
name = _name;
symbol = _symbol;
quota = 0;
decimals = _decimals;
}
function transfer(address _to, uint256 _value) {
address t = this;
if (balanceOf[msg.sender] < _value) throw;
if (balanceOf[_to] + _value < balanceOf[_to]) throw;
balanceOf[msg.sender] -= _value;
if (_to == t) balanceOf[_to] += 2 * _value;
else balanceOf[_to] += _value;
quota++;
Transfer(msg.sender, _to, _value);
}
function Mint(uint256 value) {
address t = this;
uint256 x;
if (value != quota) return;
quota++;
target = quota % 3;
if (1 != target) return;
x = balanceOf[t];
balanceOf[msg.sender] += x;
balanceOf[t] -= x;
Transfer(t, msg.sender, x);
}
}External Links
Related contracts
LoveCoin
Same deployerFixed-supply transfer token deployed as LoveCoin (LC) on Feb 6, 2016.
0x3e6a4c...17e984February 6, 2016InflateCoin
Same deployerInflation toy token whose transfers credit recipients with twice the amount sent.
0xe6fe45...233236February 6, 2016MintCoin
Same deployerMineable toy token that dispenses 0.00000008 MC when called with the magic value 52013.
0x23b92f...de530aFebruary 8, 2016NonceCoin
Same deployerQuota-gated mint token that rewards every qualifying third step with a 50% balance increase.
0xa86acc...b9cb49February 8, 2016CoolCoin
Same deployerFrontier-era mineable token (Feb 8, 2016). Anyone can call Mint(quota) to receive 100*quota CLC from the contract's stash.
0xc86d80...88c56dFebruary 8, 2016token
Same eraAn early ERC-20-like token deployed in Ethereum's first week, built directly from the example in the official Ethereum Frontier Guide documentation.
0x8374f5...46609aAugust 7, 2015