Back to Home

ExpRegistrar

Unknown
Part of The Gavin Wood Collection
0x047cdba9627a...dab7efa53d31
FrontierContract #220Exact Bytecode MatchEdit this contract
Deployed August 13, 2015 (11 years ago)Block 79,152

Revised ExpRegistrar, deployed six minutes before its source was committed to ethereum/dapp-bin. Seeds itself with the names gavofyork and NameReg.

Frontier EraVerified Source

Historical Significance

The finished form of Gavin Wood's escalating price registrar, and one of the few Frontier contracts that can be dated against the exact commit that describes it.

Context

Deployed on 13 August 2015 at 11:30 UTC by 0xb7576e9d314df41ec5506494293afb1bd5d3f65d. The matching source was committed to ethereum/dapp-bin as registrar/ExpRegistrar.sol at 11:36 UTC the same morning, in commit 411eecfed0, under the message Fixes and whatnot. The deployment came first and the commit followed six minutes later. This contract cannot be verified on Etherscan: the build that produced it was never released. Solidity v0.1.1 reproduces the runtime exactly but cannot compile the constructor, and v0.1.2 compiles the constructor but drops the STOP byte that v0.1.1 places between code and data, leaving it one byte short. Both were submitted and both were rejected. The source here is nonetheless exact, and the reconstruction is described in the description field.

Key Facts
Deployer
Gavin Wood(0xb7576e...d3f65d)
Deployment Block
79,152
Deployment Date
Aug 13, 2015, 11:30 AM
Code Size
3.5 KB
Gas at Deploy
1,018,225
Transactions by Year
20252

Description

A revision of ExpRegistrar 0x96d76ae3397b52d9f61215270df65d72358709e3. The price step rises from double to ten times per sale, a buyer can no longer take an unowned name by paying its stored price, and the single Changed event is split so that a sale emits OwnerChanged and a reverse name update emits AddressChanged. The constructor writes two records before anyone can touch the contract: gavofyork, owned by 0x00fc9b9fd6ae40fd47941399915b9ce4fd5e1f28, and NameReg, owned by the contract itself. Both are priced at 2 to the power 200, which puts them out of reach of any buyer.

Verification: the deployed build sits between Solidity v0.1.1+commit.6ff4cd6 and v0.1.2+commit.d0d36e3, and no compiler was ever released in that window. v0.1.1 with the optimizer on reproduces all 3021 bytes of the runtime exactly, but errors out on the constructor, which assigns to a struct member through a string keyed mapping. v0.1.2 compiles the constructor and reproduces its 576 bytes exactly, but drops the STOP byte that v0.1.1 places between code and data. Putting the v0.1.2 constructor prefix, the v0.1.1 style header and the v0.1.1 runtime together reproduces all 3611 bytes of the on chain creation code with no bytes left over.

Source Verified

Exact bytecode match(3,611 bytes)
Heuristic Analysis

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

Detected Type: Unknown

Bytecode Overview

Opcodes3,611
Unique Opcodes185
Jump Instructions102
Storage Operations67

External Links

Related contracts