如何实时侦听Metamask账户更换情况

来源:爱站网时间:2020-07-11编辑:网友分享
用户体验是将用户加入分散应用程序(DApp)的最大障碍之一。现代网络浏览器默认情况下不支持web3,因此大多数用户必须通过Metamask浏览器扩展程序与DApp进行交互。Metamask允许用户更改网络并从扩展名中更改其活动钱包地址。

用户体验是将用户加入分散应用程序(DApp)的最大障碍之一。现代网络浏览器默认情况下不支持web3,因此大多数用户必须通过Metamask浏览器扩展程序与DApp进行交互。

 

 

Metamask允许用户更改网络并从扩展名中更改其活动钱包地址。

 

 

不幸的是,DApps不知道用户什么时候更改了帐户,而没有专门检查它。这意味着,如果用户在使用您的DApp时更改了帐户,则会向他们显示与上一个帐户相关的过期信息。

幸运的是,Metamask现在允许您通过简单的代码实时侦听用户实时更改其帐户的情况。

检测帐户更改

假设有一个名为getAccount()的函数连接到以太坊并加载正在使用的活动帐户。每当加载DApp时都会发生一次操作。

Metamask在帐户选择更改时触发accountsChanged事件,我们可以监听该事件。代码如下:

async function getAccount() {
  const accounts = await ethereum.enable();
  const account = accounts[0];
  // do something with new account here
}

ethereum.on('accountsChanged', function (accounts) {
  getAccount();
})

使用此事件侦听器,您的DApp可以实时获取最新的钱包数据,使您的用户体验更加流畅和最新。图显示了一个DApp,该应用程序检索活动的钱包地址,并在触发accountChanged事件时将其显示在按钮中。

上一篇:初探全同态加密之二:格密码学与LWE问题

下一篇:零知识证明于区块链中的落地应用

您可能感兴趣的文章

相关阅读

查看更多 >