Back to Home

HashReg

Utility
Linagee Name Registrar
0xfeee3a42551f...b71c60d1d0b2
FrontierContract #472Source VerifiedEdit this contract
Deployed August 25, 2015 (11 years ago)Block 139,492

A single-owner key to value registry: whoever claims ownership first can then map any 256-bit key to any 256-bit value.

Frontier EraVerified Source

Historical Significance

Half of the hash-to-document lookup that early Ethereum tooling used to attach documentation to deployed code. Deploying a contract puts bytecode on chain and nothing else, and this registry is an early attempt at binding a human-readable description to it without trusting a web server to keep the link alive.

Context

Ethereum's Frontier network went live on 30 July 2015. The chain carried almost no applications in its first months: what was deployed was mostly tutorial code, token experiments and registries, written in a Solidity that was itself only a few months old and compiled from the geth console.

Contract Information
Registered Name
HashReg
Linagee Name Registrar
An early name registry deployed by linagee on August 8, 2015 — two days before the official GlobalRegistrar. Identical bytecode. First name registered: 'MyFirstCoin' (the ethereum.org tutorial example).
Key Facts
Deployment Block
139,492
Deployment Date
Aug 25, 2015, 05:39 AM
Code Size
185.0 B
Gas at Deploy
66,667

Description

HashReg holds one owner and one mapping from a 256-bit key to a 256-bit value. setowner() assigns the owner, but only while the slot is still zero, so whoever calls it earliest holds the contract permanently. After that only the owner may write, through register(key, content).

The intended use is content addressing: the key is the hash of a document, most often the code of a contract, and the value is the hash of the document that describes it. The registry says nothing about where that document can be found, which is what its companion URLhint supplies.

The stored mapping is not readable through a public getter, so a reader has to go to storage directly. Ownership cannot be transferred or renounced.

Heuristic Analysis

The following characteristics were detected through bytecode analysis and may not be accurate.

Detected Type: Utility

Bytecode Overview

Opcodes185
Unique Opcodes47
Jump Instructions10
Storage Operations6

External Links

Related contracts