Description
This is a sketch of what would be possible. Please add comments to help develop it
Let's keep imagining what is possible with Human Names, once we develop a solution to the name service issue. We could not just use a reference to resolve a user address, but resolve a contract as well. Maybe we could dispatch a message to an "ERC20" token contract not by it's name, but by it's uniquely registered token ticker. We would soon need to use some way to distinguish the scope or context of a name. This is where Decentralized Identifiers (DIDs) could come in. Imagine the following message format, that could be used either by a end-client or by a smart contract "actor":
{
"destination": "did:token:XRN",
"msg": {
"transfer": {
"from": "did:account:alice",
"to": "did:account:bob",
"amount": "13.56"
}
}
}
Each blockchain would need to expose a consistent way to resolve them to canonical addresses (that can be used by all contracts). And we could further see their use when referencing objects on remote chains, to be sent over IBC, leveraging automatic name resolution on the recipient chain as a form of auto-discovery (I don't need know what the address of the XRN
contract is on the other chain, just that it is registered as the real XRN
).