I’m baking subdomain issuance [
setSubnodeOwner] into the onboarding process of our mobile wallet app. We’re currently thinking about what’s the best way to do this from a usability perspective.
I’d like to open up the discussion on this topic so we can gather ideas from the community that will help improve wallet usability for other upcoming projects as well.
Generally speaking, our servers will receive a request from the mobile client upon wallet creation, and it will do a
setSubnodeOwner with the user’s newly created wallet address as the
To speed up the process, we’re thinking of automatically assigning a random, readable subdomain label to start with. The user will have the option to change their “username” (i.e. label) later in Settings.
setSubnodeOwner process will likely be the last step of the onboarding process. Acting as the user, I would expect to see some sort of loading screen animation with text like “We’re setting up your wallet…”, and once the
setSubnodeOwner transaction is mined, the loading animations will disappear, and the user will be sent to their main wallet screen.
My only worry about this approach is the possibility of long wait times for new blocks.
Perhaps this process can happen asynchronously so that the user can use the app right away. They may see the hexidecimal address at first, but it will eventually resolve to the subdomain once the tx is mined.
Are there any other transactions that need to be called in addition to
Does the user need to call
setResolver on their newly acquired subnode? If so, how will this affect the onboarding process if their wallet is brand new and it doesn’t have any ether to pay for the gas?
Any other feedback or guidance on this would be super helpful.