A single-unit token deployed two days before Homestead.
Historical Significance
Predates the ERC 721 non fungible token standard (January 2018) by nearly two years. Demonstrates that the conceptual primitive of a single edition, owner addressable, transferable digital object existed organically in Frontier era Ethereum, built from the same minimal mapping plus event pattern used by early fungible tokens. The decision to use uint8 for the amount and to ship without symbol or totalSupply marks this as a personal artifact rather than an attempt at a standard compliant token.
Context
Deployed in the final week of the Frontier era. Frontier ended at block 1,150,000 on 2016 03 14 with the Homestead hard fork, which removed the training wheels gas limit, fixed several consensus issues, and marked Ethereum's transition from beta to first production milestone. This contract was deployed at block 1,135,731 on 2016 03 12, fourteen thousand blocks before Homestead. The compiler at the time was Solidity 0.2.2, released in February 2016, which still required the now obsolete throw keyword and lacked the metadata bytecode suffix that later versions append.
Token Information
Key Facts
Description
A 624 byte token deployed on 2016 03 12 at 04:36 UTC, two days before the Homestead hard fork. The contract exposes only four functions: name(), decimals(), balanceOf(address), and transfer(address,uint8). There is no totalSupply, no symbol, no approve or transferFrom, and no Approval event. The transfer amount type is uint8, capping a single transfer at 255 units, and the Transfer event uses a non standard signature Transfer(address,address,uint8) with topic0 0x2c4d9d10..., distinct from the canonical ERC 20 topic 0xddf252ad.... The constructor takes (uint initialBalance, string name_) and the deployer chose to mint exactly one unit with the playful name 'Unique Object :)'.
Six minutes and twenty nine seconds after deployment, the deployer 0x47622f23 transferred the single unit to 0xe826e06f604567a4a57d2a695d9085a341927018, an address that had received 0.214 ETH from the same deployer three weeks earlier and has never signed a transaction of its own (transaction count remains zero). The token has not moved since. As of today, the recipient address still holds the one unit and the deployer holds zero.
Source Verified
Runtime bytecode byte-for-byte match. soljson v0.2.2+commit.ef92f566 with --optimize. Source reconstructed from disassembly.. Optimizer: ON (200 runs)
Historian Categories
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
This contract has verified source code.
View Verification ProofShow source code (Solidity)
// Submitted by EthereumHistory (ethereumhistory.com)
// Original deployment: 0x53a611dedd7872b34beaed08c4484deaa909affe
// Deployed 2016-03-12 by 0x47622f23891455a91663e6cc59ce2567ef4d29de
// Compiler: v0.2.2+commit.ef92f566, optimizer ON
// Source reconstructed from runtime bytecode (byte-for-byte match).
contract Token {
mapping(address => uint) public balanceOf;
string public name;
uint8 public decimals;
event Transfer(address indexed _from, address indexed _to, uint8 _value);
function Token(uint initialBalance, string name_) {
balanceOf[msg.sender] = initialBalance;
name = name_;
}
function transfer(address _to, uint8 _value) {
if (balanceOf[msg.sender] < _value || balanceOf[_to] + _value < balanceOf[_to]) throw;
balanceOf[msg.sender] -= _value;
balanceOf[_to] += _value;
Transfer(msg.sender, _to, _value);
}
}