resolveDID
How to call the API from an app
Identify Snap connects to your currently connected Metamask account by default. To learn how apps can connect to Identify Snap using a non-metamask(external) account, refer to this documentation.
Then, depending on whether you're trying to connect to a metamask account or a non-metamask account, you can call the snap API in the following way:
const snapId = `npm:@hashgraph/hedera-identify-snap`
const externalAccountParams = {
externalAccount: {
accountIdOrEvmAddress: '0.0.12345',
curve: 'ED25519'
}
}
const params = {
/*
Note that the 'did' parameter is optional. If did is not passed,
Identify Snap will assume that you want to resolve the DID of the currently
connected account. This means this API can be used to resolve your own DID
or another DID that does not belong to you.
*/
// did: did,
/*
Uncomment the below line if you want to connect to a non-metamask account
*/
// ...externalAccountParams
}
const handleAccountInfoAPI = async () => {
await window.ethereum.request({
method: 'wallet_invokeSnap',
params: {
snapId,
request: {
method: 'resolveDID',
params: params
}
}
})
}How the API is handled between the app and snap

What the API does
Retrieves the currently connected account and the blockchain network the user has selected on Metamask. If it's the first time, the account info is also saved in snap state.
Returns the DID document based on the did method that's currently selected.
Some example responses:
For an evm account 0x30F08B41491E9620d9Ba0f8F8a09a807752bBF3A:
Live Demo on CodePen
Last updated
Was this helpful?

