如何在 Angular 中断开 Metamask 钱包

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

我想在 Angular 中使用 web3 断开 Metamask 钱包的连接。

//here is my wallet connect code
async connectWallet() {
 const accounts = await this.ethereum.request({
  method: 'eth_requestAccounts',
 });
 this.selectedAddress = accounts[0];
}

请帮助我断开钱包功能 注意:我使用的是 Angular 12.2.14

javascript angular ethereum web3js
2个回答
1
投票

你可以尝试这个github问题修复吗

常量

async logout() {
     walletAddress = await window.ethereum.request({
          method: "eth_requestAccounts",
          params: [
            {
              eth_accounts: {}
            }
          ]
        });
    
          await window.ethereum.request({
            method: "wallet_requestPermissions",
            params: [
              {
                eth_accounts: {}
              }
            ]
          });
}

0
投票

要断开钱包连接,请尝试以下代码

async disconnectWallet() {
  await this.ethereum.request({
    method: 'wallet_requestPermissions',
    params: [
      {
        eth_accounts: {},
      },
    ],
  });
}

这使用

wallet_requestPermissions
撤销钱包权限,允许您断开钱包。请注意,此功能在某种程度上是实验性的,可能会根据 MetaMask 版本的不同而有所不同。

感谢@abraj,来自这个 Stack Overflow 答案

有关更多详细信息,您可以查看 GitHub 上的 MetaMask 改进提案 (MIP-2),尽管它仍处于实验阶段。

© www.soinside.com 2019 - 2024. All rights reserved.