Before we delve into the topic of Web3 domains, we would like to inform readers that a very similar topic to this article was covered in “What Are Decentralized Identifiers?” This previous article can give you a solid foundation for understanding this text.
What Are Web3 Domains
Web3 domains are a type of digital identifier that has integrated blockchain technology. Users are able to enjoy a decentralized and secure way to create and manage their domain names. Some common domains you might have come across are .eth, .crypto, .nft, .xyz, or .dao.
Traditional domains are handled by central authorities (like ICANN), whereas Web3 domains are issued and controlled through a blockchain ledger. Users can register, transfer, and manage their domains independently without relying on any single governing entity.
[.c-wr-center][.button-black]Start Now[.button-black][.c-wr-center]
To put it simply, Web3 domains translate complex blockchain addresses into human-readable names. For instance, “username.eth” instead of a long alphanumeric blockchain address. Moreover, they’re programmable and allow integration with various Web3 applications and protocols. This makes them a foundational tool for anyone working on a Web3 project.
Why Web3 Domains Are Useful
As a blockchain developer, you might be asking yourself: why even use Web3 domains? After all, it’s a bit of work atop your already busy schedule. But there are very good reasons. And how to slash the time — we will show you in the next chapter.
Why use Web3 domains:
- Ease of Use: Web3 domains make blockchain wallet addresses easy to share, reducing human error and simplifying transactions.
- Security and Privacy: Because ownership is verified on the blockchain, Web3 domains are harder for any authority to censor or manipulate.
- Versatility: These domains aren’t limited to wallet names. They can be digital identities linked to decentralized websites, NFTs and whole collections, and other Web3 applications. You can build a cohesive digital presence.
- Interoperability: Many Web3 domains work across different blockchain platforms.
If you are interested in Web3 domains, you might want to look into decentralized hosting as well. We have a great article about the topic here.
[.c-box-wrapper][.c-box][.c-text-center]You might be interested in: Top Blockchain Use Cases (2024)[.c-text-center][.c-box][.c-box-wrapper]
How to Get and Deploy Web3 Domains
Now, let’s say you are persuaded and want to deploy your Web3 domain. How to do that?
The most convenient way is utilizing a universal naming service, SPACE ID, and making the whole process as simple as possible thanks to Tatum. Since SPACE ID and Tatum are partnered, all the capabilities can be accessed directly through the Tatum SDK and APIs. Everything, from blockchain tooling to decentralized identity management, is in one place.
Users can access identity data on several different blockchains, including Ethereum, Binance Smart Chain (BNB Chain), Arbitrum, Solana, and Gnosis. Most importantly, users can manage their .eth, .bnb, and .arb Web3 domains running on supported chains.
Those are:
- Ethereum
- Arbitrum One
- Binance Smart Chain
- Gnosis
- Solana
Now, before we jump to the guide, check if your action on your designated chain is supported.
- Methods for obtaining an address by domain name, and vice versa, are supported on all the chains listed above. However, other methods, such as retrieving domain metadata, are currently unavailable on Solana.
- Registration of your new domain and all the necessities that come with it, as detailed above, is supported on the following chains: Ethereum, Arbitrum One, and Binance Smart Chain.
[.c-box-wrapper][.c-box][.c-text-center]You might be interested in: Solana Firedancer: Release Date and What It Is[.c-text-center][.c-box][.c-box-wrapper]
Guide: Getting Web3 Domain With Tatum
The SPACE ID Core extension offers most Web3 Name SDK Core and Registration methods. It is feasible to use anything you read in the SPACE ID documentation with only minimal changes here and there. We have a video guide too!
First Step: Check if the Domain Is Available
import { TatumSDK, Network, Solana } from "@tatumio/tatum";
import { SpaceIdCore } from "@tatumio/space-id-core";
const main = async () => {
const tatum = await TatumSDK.init({
network: Network.SOLANA,
configureExtensions: [SpaceIdCore],
apiKey: process.env.TATUM_API_KEY, // Use environment variable
});
try {
const result = await tatum.extension(SpaceIdCore).getAddress("spaceid");
console.log("Address:", result);
} catch (e) {
console.error("Error fetching address:", e);
} finally {
tatum.destroy(); // Ensure it runs after operations
}
};
main().catch((err) => console.error("Fatal error:", err));
Second Step: Register the Web3 Domain
import { TatumSDK, Network, ArbitrumOne } from "@tatumio/tatum";
import { SpaceIdCore } from "@tatumio/space-id-core";
const main = async () => {
const tatum = await TatumSDK.init({
network: Network.ARBITRUM_ONE,
configureExtensions: [SpaceIdCore],
apiKey: process.env.TATUM_API_KEY, // Use environment variable for the API key
});
const privateKey = process.env.PRIVATE_KEY; // Store the private key securely in environment variables
try {
await tatum.extension(SpaceIdCore).registerDomain("spaceid", 1, privateKey);
console.log("Domain registered successfully.");
} catch (e) {
console.error("Error registering domain:", e);
} finally {
tatum.destroy(); // Ensure cleanup regardless of success or error
}
};
// Call the main function
main().catch((err) => console.error("Fatal error:", err));
[.c-wr-center][.button-black]Get Started[.button-black][.c-wr-center]