What is Ethereum Name Service?
Ethereum Name Service (ENS) is a system of smart contracts on the Ethereum blockchain that allows users to own domain names like vitalik.eth. 'Ownership' here means possession of a non-fungible token (NFT) that lives on the Ethereum blockchain. The NFT can be amended with information if the owner chooses to do so (by interacting with smart contracts).
The main use case for ENS thus far is to enable owners to use their domain name as a kind of payment gateway. The owner of vitalik.eth, for example, can add an address for any number of cryptocurrencies including Bitcoin, Bitcoin Cash, and of course Ethereum. Having done so, people using a wallet that supports ENS, can send any of those cryptocurrencies to 'vitalik.eth' rather than having to input an unwieldy alphanumeric address in the send field.
ENS domain names can also point to websites that leverage decentralized web hosting infrastructure such as IPFS (Interplanetary File System), although practically speaking this is still challenging given the nascent state of such infrastructure. Technically speaking though, it's possible to own and custody a domain name (that lives on the Ethereum blockchain) and have it point to a website that is hosted on the decentralized web infrastructure.
How to purchase an ENS domain
Go to https://app.ens.domains/ and click the "Connect" button at the top left. Connecting means you'll be interfacing with the app using a Web3 wallet.
Choose your desired method to connect. These are your options:
Enter your desired domain name in the search bar on the front page
If the name is available, you'll be given the option to purchase it
Currently, registration costs are set at the following prices:
5+ character .eth names: $5 in ETH per year.
4 character .eth names: $160 in ETH per year.
3 character .eth names $640 in ETH per year.
3 and 4 character names have 'premium' pricing to reflect the relatively small number of these names that are available.
Note that you'll also need to cover the cost of gas to complete the transaction.
How to set up your ENS domain name as a payment gateway
Go to https://app.ens.domains/ and, if you haven't already, connect the wallet that holds the ENS NFT you registered.
Click on the DETAILS tab in the app.
Enter the addresses you'd like your domain name to point to. For example, you can enter a BTC address, a BCH address, an ETH address, and so on.
When you're done adding addresses, click SAVE
Your Ethereum wallet will ask you to confirm the transaction (this will incur a fee). Once written to the blockchain, you're ready to go. People sending any of the cryptocurrencies you've associated with your domain can enter your domain name (eg. vitalik.eth) in the send field of any wallet that supports ENS, rather than the long forms of your cryptocurrency addresses.