gpt4 book ai didi

blockchain - 断开 dapp 与 MetaMask 的连接

转载 作者:行者123 更新时间:2023-12-05 08:04:06 26 4
gpt4 key购买 nike

有各种教程教如何激活和停用 Metamask 钱包,或者一般的任何加密钱包,但在所有这些教程中我都遇到了同样的问题,如下所示:

当我停用我的帐户时,它仍然显示在 Metamask GUI 中您已连接,问题是当您重新加载页面时您再次获得连接行为,就好像您从未断开连接一样,您可以通过此自行验证代码示例:

使用 UseDapp 框架:

import React from 'react'
import { useEthers } from '@usedapp/core'

const TryUseDappExample = () => {

const { activateBrowserWallet, deactivate, account } = useEthers()

return (
<div>
{!account && <button onClick={activateBrowserWallet}> Connect </button>}
{account && <button onClick={deactivate}> Disconnect </button>}
{account && <p>Account: {account}</p>}
</div>
)
}

export default TryUseDappExample

请尝试点击连接 -> 断开连接 -> 重新加载页面,你会看到你仍然连接。

使用 Web3-react 教程提供了相同的场景,尽管当我重新加载页面时它没有显示钱包已连接,而是仅在 Metamask GUI 上显示。

我的问题很笼统,如何正确断开 Metamask 钱包与 dapp 的连接?

谢谢!

您可以在提供的图像中看到行为,钱包已通过断开连接按钮断开连接,但您仍然可以在 Metamask GUI 中看到它已连接

enter image description here

最佳答案

我也遇到过这个问题,但我发现 dapp 应用程序无法从 Metamask 内部断开连接(它没有权限)。

我们可以做的是从我们的应用程序内部处理连接。例如:您将帐户和提供商存储在一个变量中,然后当您按下断开连接按钮时,它只会从该变量中删除该信息。你认为我们断开了连接,但实际上我们无法与实际的 Metamask 断开连接。

但是当有人真的断开他/她的帐户与 Metamask 的连接时,您可以在您的应用程序中监听 accountChanged 事件来处理它。

关于blockchain - 断开 dapp 与 MetaMask 的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70133769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com