A native iOS app which is on a mission to make sure you know who you're talking to, through verification and social graphs we're creating a safe place to connect and have fun.
This project combines multiple protocols to allow an explosion of feature sets which will help improve customer experience of social networks. We've integrated WalletConnect for seamless sign-in and verification, we then pass this over to XMTP to allow us to utilise messaging, announcements and alerts. Our network is verified through NextID to pull in proof of verification of those in the network, we then add on additional filters to give confidence that who you're talking to is actually who you think it is. We also have the capability to expand this to have advanced levels of filtering to prevent spam and unwanted messages.
We used WalletConnect to integrate sign in, we initially looked at the WalletConnect Example Dapp along with the XMTP iOS project. We discovered that the XMTP iOS Example utilised WalletConnect v1, this has since been shut down so we were unable to utilise this connection. We decided to upgrade the XMTP iOS Example project to use WalletConnect v2, this involved updating the package dependancies and then adapting the existing wrapper that XMTP had created prior. We kept the existing template as far as we could as we could it an intuitive integration, however there was some major changes needed. There was no longer a need for the WalletConnectClient or ClientDelegate, we changed the integration to focus on preferred connection method, connect and the signing. The preferred connection method was where we would create the Pair and generate the walletURI through WalletConnectv2. This allowed the user to scan the QR code to initialise with the application. We'd then set up the connect layer utilising the Sign API, and finally setup a personal_sign request which would allow us to get a sign response back to store, this would then be the data used along with the accountManager to connect with XMTP. Which replicates the behaviour of the existing demo using v1. We'd hope that XMTP could use our example implementation to update their demo app for others and solve this issue: https://github.com/xmtp/xmtp-ios/issues/131
We utilised XMTP for the messaging protocol, it delivered what we needed from an instant messenger tool and we were now at the point of integrating further API's to sanitise the network and allow verification to take place. We've started with the integration of web3.bio which will allow us to fetch social profiles, handles and other methods of identification. We are also using NameGuard API to protect the authenticity of ENS names. This will help us spruce the UI as well to make it more easier friendly and accessible to how customers expect. Alongside this we've added the ability to fetch NFT's that a wallet address holds. This will allow us to form unities amongst NFT holders, specifically around ApeCoin and Nouns DAO due to it's universal applications.