Managing ENS domains with Ethereal
· Jim McDonald · 3 minutes read · 481 words ·An upgraded Ethereum Name Service⧉ registrar has gone live on mainnet. This brings a number of benefits including faster registration of domains (no more auctions!) and no deposits for names (although a rental system has instead been introduced; more on that later).
Obtaining and configuring Ethereal
Ethereal is a Go binary; to obtain it just type
$ GO111MODULE=on go get github.com/wealdtech/ethereal
Ethereal accesses accounts created by geth⧉ or parity⧉ . If you do not usually use these products you can either create a new address or import an existing address with which you can work with ENS domains.
Full details about setting up your Ethereum account as well as general options for Ethereal are available at the official website⧉ .
Migrating existing domains from the previous registrar
If you registered a domain any time prior to 4th May 2019 you will need to migrate your domain to the new registrar.
Note that a domain must be registered for at least 28 days on the auction registrar prior to being migrated, so if you registered your name recently you might need to wait until you can carry out the migration.
To carry out the migration use the ens migrate
command, for example:
$ ethereal ens migrate --domain=mydomain.eth --passphrase=mysecret
It is also possible to migrate multiple domains with a single command; see the in-built Ethereal help for details.
Releasing unwanted domains
If you have an existing domain but wish to release it rather than migrate it you can do so.
$ ethereal ens release --domain=myunwanteddomain.eth --passphrase=mysecret
Note that a domain must be registered for at least 1 year before it can be released.
Registering new domains
Registration is now a lot simpler. Note that domains of less than 7 characters are still restricted pending an auction at a later date, but registering a domain of 7 characters or more requires only a single command, for example:
$ ethereal ens register --domain=mynewdomain.eth --address=0x1234...5678 --passphrase=mysecret --wait
The --wait
flag waits for the registration process to complete before returning, allowing the registration process to complete.
Extending a domain
Domains are now rented, so to keep a domain you need to pay to extend the rental period. To find out how long the current registration runs for you can query the domain:
$ ethereal ens info --domain=testdomain28.eth
Registrant is wealdtech.eth (0x388Ea662EF2c223eC0B047D41Bf3c0f362142ad5)
Registration expires at 2020-03-30 19:04:48 +0100 BST
Approximate rent per year is 0.009999999973584 Ether
Controller is wealdtech.eth (0x388Ea662EF2c223eC0B047D41Bf3c0f362142ad5)
Resolver is 0xFea23E73176C173D5Ea9a789267a411460A3a209
Note that this also provides the approximate cost for rental renewal (approximate because the cost is managed internall on a per-second basis and the number of seconds in a year is variable).
To extend the registration period:
$ ethereal ens extend --domain=mydomain.eth --value="0.1 Ether" -passphrase=mysecret --wait
Other features
Ethereal allows you to create subdomains, transfer ownership, set up ENS records such as address and contenthash, and more. Check out the Ethereal documentation⧉ for more information.