New Address Book Canister & Added ID Validations 📓

The address book canister allows users to store contact lists on-chain, privately so they can be surfaced on any dApp! On top of that, we’ve made sure that you can only send your assets to valid Account IDs and ICNS names.

DAB
DAB — An open internet service.
3 min readApr 18, 2022

--

With our latest release, we rewired the entire DAB architecture and introduced the “Registry Standard.” Now, we’re happy to bring you new updates to scale DAB even further!

This update features a brand new way to share your contact list information across the IC and interact more seamlessly with dApps like Plug or DSCVR. Our team has been hard at work creating a new address book canister that stores this information and acts as a universal contact list for you across any dApp or wallet integrating DAB.

Not only that but we’ve also added an extra layer of validation for ICNS names, and Account IDs so that you won’t send your tokens or any other assets to the wrong address.

Your Contact List, Synced Everywhere 📓

Currently, when someone lists their canister, NFT, Token, or dApp on DAB’s lists, it means that they can be easily discoverable, supported, and automatically integrated by all UIs and applications that use DAB. However, this was not the case for storing your contact lists.

Let’s take Plug as an example. Up until now, saving contacts in the browser extension was done locally. This meant that your contacts wouldn’t sync from browser to mobile and were lost if you signed into a new browser or computer.

That’s where the new address book canister comes into play. Our team has created a solution to store all your contacts associated with your identity privately and on-chain. Then, any dApp or wallet (like Plug) that integrates it will be able to surface the same synced contact list for that given user.

Integration coming soon to Plug’s extension and mobile app!

Using DAB’s Address Book, dApps and wallets like Plug can stop saving their contacts in an app-specific way, and instead use the Address Book as a common source of storage for a given user’s contacts.

This way, users will more seamlessly interact with dApps like DSCVR, having the same contact list across all experiences, readily available. It is important to note that, while we will integrate with Plug, the contact list can be integrated by any dApp or experience, whether Plug is involved or not.

Additional ID & ICNS Validation ✅

We’ve also solved a little quirk to offer a flawless user experience on the Address Book. Most relevant in the case of using Plug or any app that handles transactions, we added an Account ID validation check on the Address Book (same as the native Principal ID check).

Think of it as the name of the person you’d like to transfer assets to — if you saved a contact with a mistaken Account ID
 you had no way to know that the id was invalid. The assets you wanted to transfer would have simply been burnt. 😰

With the latest DAB update, you’ll be notified right away when you enter an invalid Account ID as a contact. No more lost funds or cute ICKitties. đŸ„ș

If you use ICNS names instead of Account ID, we’ve got something in store for you too. For added protection, we now double-check the ICNS name in our own canister after Plug validates it first. It’s now even safer to send your NFTs to dab.icp.

Integrate DAB’s Address Book Into Your App 🧰

If you’re already using our DAB-js library, you’ll only need to update your DAB-js version on your app/site to interact with the new address book canister.

You can find the new Address Book section on our DAB-js documentation page and all available methods to fetch, add or remove a user’s contacts.

If you want to interact with the canister directly, head over to our repositories and the address book documentation page for a step-by-step guide.

For more updates on all things DAB, visit the links below and follow us.

Twitter | Discord | Documentation | Website | GitHub | Standard Repo

--

--

DAB
DAB — An open internet service.

DAB is an Internet Computer open internet service for NFT, token, canister, and Dapp registries.