去中心化应用程序如何通过钱包连接处理登出?

3

登录https://opensea.io使用metamask后,我发现它们有一个退出功能。

经过一些研究,我意识到“退出”只是UI上的变化,因为我仍然与metamask连接,并且只有在使用metamask chrome扩展手动断开连接时才能断开连接。

然而,当我使用钱包应用程序(例如dcentwallet)通过wallectconnect在移动电话上登录opensea时,我的应用程序显示我已登录,并且我有一个选项手动断开连接。但是,如果我在opensea上注销,则会从我的钱包应用中断开连接。

因此,我认为opensea正在使用某种事件来强制我的应用程序与其站点断开连接。我假设这不是web3事件,因为我在注销opensea时没有要求我签名,并且它强制将我与我的钱包应用程序断开连接。有人知道opensea使用何种技术断开通过walletconnect连接的移动钱包应用程序吗?

1个回答

1

WalletConnect通过所谓的会话将客户端和服务器连接起来。WC协议为客户端(在您的情况下是OpenSea)提供了一个特定的disconnect命令。客户端向WC发送此命令,WC终止会话并向服务器(钱包应用程序)发送通知,表示会话已结束。

反过来,钱包应用程序也可以从其一侧断开连接,这基本上又是WC终止会话并通知dApp /客户端。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接