我想在 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
你可以尝试这个github问题修复吗
常量
async logout() {
walletAddress = await window.ethereum.request({
method: "eth_requestAccounts",
params: [
{
eth_accounts: {}
}
]
});
await window.ethereum.request({
method: "wallet_requestPermissions",
params: [
{
eth_accounts: {}
}
]
});
}
要断开钱包连接,请尝试以下代码
async disconnectWallet() {
await this.ethereum.request({
method: 'wallet_requestPermissions',
params: [
{
eth_accounts: {},
},
],
});
}
这使用
wallet_requestPermissions
撤销钱包权限,允许您断开钱包。请注意,此功能在某种程度上是实验性的,可能会根据 MetaMask 版本的不同而有所不同。
感谢@abraj,来自这个 Stack Overflow 答案。
有关更多详细信息,您可以查看 GitHub 上的 MetaMask 改进提案 (MIP-2),尽管它仍处于实验阶段。