The Ethereum Foundation's Frontier URL-hint registrar, hardcoded into go-ethereum.
Historical Significance
Part of the Frontier name/registrar system (UrlHint + HashReg + GlobalRegistrar) hardcoded into go-ethereum — the proto-oracle that let clients resolve a contract's metadata URL from its code hash.
Context
In September 2015, hosting infrastructure for Ethereum metadata was primitive — there was no IPFS integration, no Swarm network, and no decentralized storage. UrlHint solved the practical problem of pointing from an on-chain hash to a traditional HTTP URL where documentation could be found. The three registrar contracts (GlobalRegistrar, HashReg, UrlHint) were the minimal viable infrastructure needed to make NatSpec functional on Frontier mainnet.
Contract Information
Key Facts
Description
URLhint maps a content hash to a list of URL hints — the "where do I fetch this contract's metadata" oracle of the Frontier era, paired with HashReg and GlobalRegistrar. The 193-byte on-chain runtime is byte-for-byte identical to the UrlHintCode constant compiled into every go-ethereum binary; the source is the EF's own published URLhint (UrlHintSrc in common/registrar/contracts.go). Compiled with a pre-v0.1.1 cpp-ethereum dev build whose constant optimizer emits the EXP-form masks seen on-chain.
Source Verified
On-chain runtime is byte-for-byte identical to go-ethereum's hardcoded UrlHintCode (common/registrar/contracts.go). Source is the EF's own published URLhint.. Optimizer: ON (200 runs)
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)
// Verified by EthereumHistory (ethereumhistory.com)
// Source: go-ethereum common/registrar/contracts.go (UrlHintSrc), the Ethereum
// Foundation's hardcoded Frontier registrar. The on-chain runtime at
// 0x73ed5ef6c010727dfd2671dbb70faac19ec18626 is byte-for-byte identical to the
// `UrlHintCode` constant compiled into go-ethereum.
contract URLhint {
function register(uint256 _hash, uint8 idx, uint256 _url) {
if (owner[_hash] == 0 || owner[_hash] == msg.sender) {
owner[_hash] = msg.sender;
url[_hash][idx] = _url;
}
}
mapping (uint256 => address) owner;
mapping (uint256 => uint256[256]) url;
}
External Links
Related contracts
GlobalRegistrar
Same deployerThe canonical name registration contract hardcoded into go-ethereum — Ethereum's first mainnet naming system, mapping human-readable strings to addresses. A dir
0x339901...91a70cSeptember 24, 2015HashReg
Same deployerThe content hash registry hardcoded into go-ethereum — maps key hashes (contract code hashes, domain name hashes) to content hashes. Part of the three-contract
0x23bf62...520620September 24, 2015