Inflation toy token whose transfers credit recipients with twice the amount sent.
Historical Significance
InflateCoin is a compact early example of a token contract used to explore monetary behavior rather than compliance. The doubling rule is visible directly in one line of Solidity, making it a clear predecessor to later experimental supply mechanics in the same deployer's sequence.
Context
Deployed Feb 6, 2016 at 08:35 UTC by 0xcd7642260fb84ce6d28730f6579d4f6ab26c8369, InflateCoin followed LoveCoin by roughly four hours. It sits in the same named-coin run as LoveCoin, InflateCoin, MintCoin, NonceCoin, HaHaCoin, and CoolCoin. EthereumHistory currently records three 2016 transactions for the contract and no later-year activity, so the inflation rule appears to have been tested briefly and then left on chain.
Token Information
Key Facts
Description
InflateCoin (IC), deployed Feb 6, 2016 at block 961,581, mutates the LoveCoin template into an explicitly inflationary experiment. The sender loses _value, but the recipient gains 2 * _value, so every transfer mints an extra _value into circulation. Like the surrounding family, it predates standardized ERC-20 allowance mechanics and keeps the interface to metadata, balances, and transfer(). 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: 719 bytes, creation: 1409 bytes. Runtime SHA-256 e18222544b5cdde8b9f88dd5bea3b97e5df1d261e9a72dbe7853c7c1016f9382. Creation SHA-256 00da2e4e8f4e882614d4e3d8c0725fd45ee7dcacbdcb24f129d9ec49123e3856.
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 InflateCoin {
string public name;
string public symbol;
uint8 public decimals;
mapping (address => uint256) public balanceOf;
event Transfer(address indexed from, address indexed to, uint256 value);
function InflateCoin(uint256 initialSupply, string tokenName, string tokenSymbol, uint8 decimalUnits) {
if (initialSupply == 0) initialSupply = 500000;
balanceOf[msg.sender] = initialSupply;
name = tokenName;
symbol = tokenSymbol;
decimals = decimalUnits;
}
function transfer(address _to, uint256 _value) {
if (balanceOf[msg.sender] < _value) throw;
if (balanceOf[_to] + _value < balanceOf[_to]) throw;
balanceOf[msg.sender] -= _value;
balanceOf[_to] += 2 * _value;
Transfer(msg.sender, _to, _value);
}
}