Managing Domain Tokens With Ethereal

About Ethereal

Ethereal is an open-source utility for managing Ethereum wallets and tokens.

It provides complete support for ENS domain tokens, including forward and reverse address resolution, public keys, subdomain management, and content and text records.

The Ethereal GitHub project and full documentation can be found at

What You Will Need

  • A Geth, Mist, or Parity wallet
  • Golang compiler


You can compile and install Ethereal in one step with go get


Ethereal will find Geth, Mist, and Parity wallets in their standard locations.

Run ethereal account list to list available accounts.

To get available information on your domain token, you can use:

ethereal ens info

This will return results in this form:

Registrant is (0x388Ea662EF2c223eC0B047D41Bf3c0f362142ad5)
Registration expires at 2020-03-30 19:04:48 +0100 BST
Controller is   (0x388Ea662EF2c223eC0B047D41Bf3c0f362142ad5)
Resolver is 0x4C641FB9BAd9b60EF180c31F56051cE826d21A9A
Domain resolves to 0xe8E98228Ca36591952Efdf6F645C5B229E6Cf688
Address resolves to

To get the Ethereum address attached to a domain token, use:

ethereal ens address get

To set the address for your domain token, use:

ethereal ens address set --address=0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf

To check the reverse ENS lookup of your token - given the address - you can use:

ethereal ens domain get --address=0x6813Eb9362372EEF6200f3b1dbC3f819671cBA69

And to set or update the reverse lookup:

ethereal ens domain set --address=0x6813Eb9362372EEF6200f3b1dbC3f819671cBA69

To set the public key for your domain token, you can use:

ethereal ens pubkey set --key='(0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f,0x1f1e1d1c1b1a191817161514131211100f0e0d0b0c0a09080706050403020100)'

And you can look up the public key for any domain token with:

ethereal ens pubkey get

You can create text records for your domain - equivalent to DNS text records - using:

ethereal ens text set --key="My info" --text="Information goes here"

Creating Subdomains

You can create subdomains simply using the subdomain create command:

ethereal ens subdomain create --subdomain=mysub

Once created, subdomains can be managed exactly as with their parent domain.