TNS names not fully functional – yet

Ok, note the day that I posted this info. If you’re visiting from the future, I’m hoping that some of this info will be out of date. Let me know, and I’ll edit it out.

Since a couple hackathons ago, we’ve all been waiting for the Theta Name Service (TNS) to go live. The promise is that by linking your wallet address to a name, people can easily locate you in order to interact with your wallet. And, we all know that this work came out of ThetaBoard.io. Thus, you’ll want to keep that site on the radar.

And, I have but the code is still in alpha. That’s a proof-of-concept phase. Because TNS associations had been sold into the public, I was expecting that the code was in beta, which is the testing phase just before release. Thus, I’ll save you a lot of reading, I found that some things seem to work, but the end-to-end solution that I was looking for is not there.

Yet.

Here’s the backstory

Last month I had the idea that I would be creating this website. Knowing that people don’t work well with 40-digit numbers, the obvious solution would be a TNS name. So, I bought AmorStyle.Theta. Having seen TNS resolved names in the official Theta explorer, I set out to integrate this functionality into the website.

I knew that I wanted a dedicated account for any coin flow through this address, so I created another account through the official website. Naively, I figured I could just send the TNS I purchased to this new address and it would resolve. The TheteBoard.io website made it easy to do this, thus I sent it over. Then I tried to give the address to ThetaBoard.io so that it could make the assignment for me, and there was no way to do that. ThetaBoard.io would only act to set it to the account held by MetaMask.

I immediately search to see if MetaMask handles multiple accounts. It does. I created another account and that didn’t work. Turns out, there is an import functionality that I was able to work through which allowed me to assign my newly created wallet with MetaMask by using the keystore file.

After doing that, I had the account that was holding the TNS name registered with MetaMask so I connected that new account with ThetaBoard.io and the object was recognized so I could perform the assignment.

Feeling bold, I clicked the assign button. It notified me that there would be three MetaMask operations, which I worked through. After the first one came along, I clicked the completion notification from MetaMask to view the wallet activity in the explorer. After the third notification, my address in the explorer resolved to AmorStyle.Theta.

Success!

ThetaBoard.io didn’t seem to get that last completion and continued to spin as if it was working. After about 10 minutes, I refreshed the page to see that the assignment looked to have completed successfully.

The last thing that I needed to do was send some coin using this TNS name. Thus, opened my official Theta wallet, clicked to “Send” coin and placed AmorStyle.Theta in the “To” control. It wouldn’t resolve.

I looked over the ThetaBoard.io page to see if there was any place there that would resolve it for me.

Nothing.

Wrap up

Turns out that it’s just proof-of-concept code. Official TNS names should never have been sold into the public, they should have been ‘test’ names. In other words, this functionality should have been proven on the test net to make sure there was an end-to-end solution before rolling it out to the public. Particularly to someone like myself that would publicly critic it.

Going through this attempt at integrating a TNS name pointed out that I’m probably going to need a bit more information in order to really integrate this into any project. Specifically, a spec that shows how I need to interface to this service. I had thought that if I modified the “To” address in a Send Transaction to the network, the network would simply resolve that TNS name for me into the address. Well, that’s not the experience today.

What do I need to move forward? I need to see a roadmap outlining who and what the service really is, where the dependencies are and what happens if wallets don’t use the service.

TNS names are a cool idea, but still too early to use.