有什么办法可以向Metamask钱包发起断开连接请求吗?

问题描述 投票:0回答:4

我正在构建一个去中心化应用程序,用户可以将他们的加密货币钱包(Metamask)连接到我的网站。

他们可以通过单击按钮发起连接请求。成功后,钱包已连接,我的网站可以与其交互。

有什么方法可以发起断开连接请求吗?类似于“注销”按钮。目前,用户必须在 Metamask 设置中手动断开钱包连接,这不是一个简单的过程。

blockchain ethereum web3js metamask
4个回答
4
投票

这不是您可能希望得到的答案:这是不可能的。

出于安全和隐私考虑,连接/断开连接功能完全掌握在用户手中。您可以要求钱包提示用户连接网站,但没有提示用户断开连接的功能。

以编程方式重置帐户数组不会断开钱包连接,即使 Pancake Swap 等某些实现表明情况确实如此;他们只是假装断开连接。


2
投票

以下是我用来断开您连接的帐户(假设您只有一个)与应用程序的连接的方法:

await window.ethereum.request({
    method: "eth_requestAccounts",
    params: [{eth_accounts: {}}]
})

1
投票

来自此:https://github.com/MetaMask/metamask-extension/issues/8990

const accounts = await window.ethereum.request({
    method: "wallet_requestPermissions",
    params: [{
        eth_accounts: {}
    }]
}).then(() => ethereum.request({
    method: 'eth_requestAccounts'
}))

const account = accounts[0]

感谢尼基塔:https://github.com/nikitamarcius


0
投票
await window.ethereum.request({
  method: 'wallet_revokePermissions',
  params: [
    {
      eth_accounts: {},
    },
  ],
});
© www.soinside.com 2019 - 2024. All rights reserved.