Tokens

MetaMask API - 如何檢測令牌是否已註冊?

  • April 21, 2022

我想阻止使用者在使用 MetaMask 註冊我的令牌之前進入我的 dapp。

我使用下面的程式碼完成此操作,該程式碼在使用者即將進入 dapp 時執行:

const wasAdded = await ethereum.request({
       method: "wallet_watchAsset",
       params: {
           type: "ERC20",
           options: {
               address: TOKEN_ADDRESS,
               symbol: TOKEN_SYMBOL,
               decimals: 18,
               image: "",
           },
       },
   });

如果wasAdded返回 false,我會阻止使用者進入 dapp。

問題是,此程式碼將始終向使用者顯示註冊令牌的提示,即使它已經註冊

在觸發此提示之前,是否有任何方法可以檢查令牌是否已註冊?

如果沒有,有什麼替代方案?每次使用者啟動 dapp 時都顯示無意義的提示是不可行的。

沒有辦法檢查是否註冊

相反,您預設為所有使用者使用未註冊的令牌,並且當使用者首次註冊時,您會記錄它們,以便下次不需要向使用者顯示它們。

或者它可以在使用者移除令牌的情況下不顯眼地顯示,並且可以重新註冊。

如何在 MetaMask 中添加未列出的令牌(自定義令牌)

您可以找到自動令牌檢測(在撰寫本文時進行了實驗)。

引用自:https://ethereum.stackexchange.com/questions/107253