Back to Home

GlobalRegistrar

Registry
Part of The Linagee Collection
0x1392a4f1642c...93e790770c35
FrontierContract #19Exact Bytecode MatchEdit this contract
Deployed August 7, 2015 (10 years ago)Block 50,466

The official Ethereum GlobalRegistrar deployed by the go-ethereum team in August 2015. This was the canonical name registry contract embedded as pre-compiled by

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
50,466
Deployment Date
Aug 7, 2015, 11:22 PM
Code Size
2.8 KB
Gas at Deploy
203,965
Transactions by Year
20221

Description

The official Ethereum GlobalRegistrar, deployed at block 50,466 (August 13, 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). The same bytecode was also deployed at block 51,245 (0xf436ceba) by the same developer.

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