Events用ethersjs檢測
用ethersjs檢測accountsChanged
和chainChanged
?
我不確定這個問題是否有意義,或者我是否正確地看待事物,但它來自我的理解,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')