Username resolution
Message Kit provides powerful username resolution capabilities through its resolver system. This allows applications to handle various types of identifiers including ENS domain and Converse usernames.
Supported identifiers
- Ethereum Addresses - Standard hex addresses (e.g.,
0x123...) - ENS Domains - Ethereum Name Service domains (e.g.,
vitalik.eth) - Converse Usernames - Social usernames from Converse (e.g.,
@fabri)
Usage
The resolver provides a getUserInfo function that returns detailed information about a user:
Is already included in MessageKit
import { getUserInfo } from "@xmtp/message-kit";
const userInfo = await getUserInfo(identifier);The resolver returns a UserInfo object containing:
ensDomain- User's ENS domain if availableaddress- Ethereum addresspreferredName- Best available name to displayconverseUsername- Converse username if availableavatar- Profile picture URL if availableconverseEndpoint- Converse profile endpoint
Caching
The resolver implements automatic caching to improve performance and reduce API calls. You can manage the cache using:
// Clear cache for specific address
context.clearCache(address);
// or import directly
import { userInfoCache } from "@xmtp/message-kit";
userInfoCache.clear(address);Caching
The resolver implements automatic caching to improve performance and reduce API calls. You can manage the cache using:
// Clear cache for specific address
clearInfoCache(address);
// Clear entire cache
clearInfoCache();