Back to Home

GlobalRegistrar

Registry
Part of The Linagee Collection
0xf436ceba3850...d6fc2b6267d0
FrontierContract #24Exact Bytecode MatchEdit this contract
Deployed August 8, 2015 (10 years ago)Block 51,245

The second deployment of the official Ethereum GlobalRegistrar, deployed nine days after the first. Both deployments use identical bytecode pre-compiled and emb

Frontier EraVerified Source

Historical Significance

The official Ethereum GlobalRegistrar - the root name registry embedded in go-ethereum and used to bootstrap Ethereum's naming infrastructure in 2015. One of the first registrar contracts deployed on Ethereum mainnet, predating ENS by over a year.

Context

In mid-2015, the Ethereum Foundation embedded a GlobalRegistrar contract directly into go-ethereum, with both source and compiled bytecode in common/registrar/contracts.go. The contract was deployed via geth's built-in registrar tooling. The bytes32-based API predates the switch to string arguments (commit 680e78e, Aug 3 2015 in ethereum/dapp-bin), making this one of the earliest functioning deployments of the GlobalRegistrar specification.

Key Facts
Deployer
Linagee(0x3d0768...116c2d)
Deployment Block
51,245
Deployment Date
Aug 8, 2015, 02:42 AM
Code Size
2.8 KB
Gas at Deploy
203,965

Description

The official Ethereum GlobalRegistrar, deployed at block 51,245 (August 22, 2015) by 0x3d0768da09. This is the canonical name registry pre-compiled by the Ethereum Foundation and embedded as GlobalRegistrarCode in go-ethereum's common/registrar/contracts.go (commit 83ee39448e, June 23, 2015). The deployer used go-ethereum's built-in --registrar deployment tool, which sent the embedded bytecode directly - no independent compilation required. The contract maps bytes32 names to owners, addresses, sub-registrars, and content hashes. It implements the full Registrar interface with 13 functions including reserve, transfer, disown, setAddress, and setContent. Notably, register(bytes32) is a temporary alias returning the sub-registrar address (the canonical subRegistrar() getter is commented out in source with a 'TODO: bring in on next iteration' note). Identical bytecode to the earlier deployment at block 50,466 (0x1392a4f1).

Source Verified

SolidityExact bytecode match(2,894 bytes)
Compiler: go-ethe

Bytecode pre-compiled and embedded in go-ethereum commit 83ee39448e. Creation TX input matches GlobalRegistrarCode constant byte-for-byte.

Heuristic Analysis

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

Detected Type: Registry

Bytecode Overview

Opcodes2,894
Unique Opcodes147
Jump Instructions72
Storage Operations62

External Links