如何實時偵聽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事件時將其顯示在按鈕中。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;