[Proposal] Add Reverse Record to SNS

Hi Bonfida Team,

My name is Shiyu, the co-founder of CyberConnect. Our team is building the Solana profile web app: https://sol.cyberconnect.me/.

We are heavily integrating with SNS: displaying SNS and Twitter handle for each sol address.

The critical issue we encountered is: right now we don’t have a reverse record for SNS. In other words, we don’t know which SNS to display if an address has multiple SNS.

ENS allows users to set a reverse record so that a default ENS will be associated with an eth address. ReverseRegistrar - ENS Documentation ENS team believes setting the reverse record is critical, and they rewarded users with doubled ENS token if they set the reverse record before the airdrop.

In order to display the SNS for a sol address, right now the implementation flow for developers is painful:

  1. fetch at least 3 domain keys from findOwnedNameAccountsForUser, since a Twitter verification will create 2 domain keys that do not link to any SNS.
  2. check the 3 domain keys one by one using performReverseLookup until we get a valid return.

And even if we follow the two steps described above, we still cannot get a deterministic SNS for an address, since findOwnedNameAccountsForUser returns domain keys in random orders.

I believe the major use cases for SNS in the future will be displaying a default name for each address. Allowing users to set a reverse record is necessary for wider adoption.

2 Likes

Yes, this is something we can add. A few clarifications though:

  1. The domains returned are valid NameRegistry records (otherwise they would not be returned by the getProgramAccount RPC call) but that do not belong to the .sol TLD. The TLD discrimination should be done on the client side.

  2. You can batch requests using getMultipleAccountInfo RPC method.

How can i decode the base responses getMultipleAccounts return? And its stand for?