dm3-org / dm3

The dm3 protocol | New standard of web3 messaging | Decentralized ENS-based registry | Secure end-to-end encryption | Easy dApp integration
https://dm3.network
BSD 2-Clause "Simplified" License
73 stars 15 forks source link

handle same address with different domains/profiles #1069

Open AlexNi245 opened 1 month ago

AlexNi245 commented 1 month ago

A Dm3 client uses a namespace that is defined by the addr subdomain. This namespace creates an alias ENS name for that user so they can use the client without having an on-chain identity. i.E address 0x123 becomes 0x123.addr-dm3.eth. An address can have one or many aliases. These alias names are displayed instead of the address to make the contact more readable. At the moment Dm3 supports ENS, Gnosis, Dm3Name, OP-Name.

Conversations with different aliases are stored using the address identifier 0x123.addr-dm3.eth. That has the advantage that conversations are automatically merged. So it doesn't matter if a message has been sent to alias.gno or to 0x123.addr-dm3.eth.

All of this works well because alias information is publically discoverable. When sending a message to a Gnosis Chain Alias the Profile can always fetched because the Dm3 Client knows how to fetch a Gnosis name.

However, there is another category of aliases currently not supported. Those are off-chain alias names not registered within the dm3 addr subdomain but on a 3rd party subdomain. i.e 0x123.addr-hicony.eth

The DM3 client has to be able to deal with those aliases as well