Bytecode verified via sibling
This contract shares identical runtime bytecode with AliasRegistry (0x2e86c11c...) which has been verified through compiler archaeology.
A first come first served name registry from November 2015: claim a bytes32 alias for your address, and it can never be released.
Historical Significance
Two mappings pointing at each other, address to alias and alias to address. claimAlias(bytes32) throws if the name is already taken and otherwise writes both directions, so a name belongs permanently to the first address that asked for it. getAddr(bytes32) and getAlias(address) read the two directions back. There is no transfer, no release and no expiry: nothing in the contract can ever undo a claim. Source recovered by exact bytecode match: solc v0.1.7+commit.b4e666cc with the optimizer on reproduces all 269 bytes of the creation transaction.
Context
Deployed in 2015 on the Ethereum Frontier network.
Key Facts
Description
Two mappings pointing at each other, address to alias and alias to address. claimAlias(bytes32) throws if the name is already taken and otherwise writes both directions, so a name belongs permanently to the first address that asked for it. getAddr(bytes32) and getAlias(address) read the two directions back. There is no transfer, no release and no expiry: nothing in the contract can ever undo a claim. Source recovered by exact bytecode match: solc v0.1.7+commit.b4e666cc with the optimizer on reproduces all 269 bytes of the creation transaction.
Source Verified
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)
// Submitted by EthereumHistory (ethereumhistory.com)
contract AliasRegistry {
mapping (address => bytes32) aliasOf;
mapping (bytes32 => address) addressOf;
function getAddr(bytes32 name) returns (address) {
return addressOf[name];
}
function getAlias(address addr) returns (bytes32) {
return aliasOf[addr];
}
function claimAlias(bytes32 name) {
if (addressOf[name] != 0) throw;
aliasOf[msg.sender] = name;
addressOf[name] = msg.sender;
}
}External Links
Related contracts
Contract 0x928fd6...a394a2
Same deployerA first come first served name registry from November 2015: claim a bytes32 alias for your address, and it can never be released.
0x928fd6...a394a2November 23, 2015Contract 0xdfe162...689c7a
Same deployerA contract with no storage at all that exists only to write three indexed addresses into the log.
0xdfe162...689c7aNovember 23, 2015Contract 0x33bf61...f98a64
Same deployerA first come first served name registry from November 2015: claim a bytes32 alias for your address, and it can never be released.
0x33bf61...f98a64November 23, 2015Contract 0x5cdb3c...662fd1
Same deployerA contract with no storage at all that exists only to write three indexed addresses into the log.
0x5cdb3c...662fd1November 23, 2015Contract 0x2e9450...a2b844
Same deployerA first come first served name registry from November 2015: claim a bytes32 alias for your address, and it can never be released.
0x2e9450...a2b844November 23, 2015Contract 0x565c13...07833d
Same deployerA first come first served name registry from November 2015: claim a bytes32 alias for your address, and it can never be released.
0x565c13...07833dNovember 23, 2015