Events

用ethersjs檢測accountsChangedchainChanged

  • March 8, 2022

我不確定這個問題是否有意義,或者我是否正確地看待事物,但它來自我的理解,ethersjs 是 MetaMask(和其他提供者)之上的抽象……

我已經能夠從中獲取事件ethereum.on('chainChanged')ethereum.on('accountsChanged')但我想知道是否有辦法通過 ethersjs 事件或介面來做到這一點。

您可以初始化乙太幣並設置提供者變數

const provider = new ethers.providers.Web3Provider(window.ethereum);

然後你添加/刪除事件

const { provider: ethereum } = provider;
ethereum.on('accountsChanged', someFunction}; 
ethereum.off('accountsChanged', someFunction};

我在https://docs.ethers.io/中沒有看到任何官方文件

我的做法是chainChanged直接從外部 Web3provider 監聽事件。

ethers.providers.Web3Provider(window.ethereum).provider.on('chainChanged')

ethers.providers.Web3Provider(window.ethereum).provider.on('accountsChanged')

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