generated at
MetaMask のアカウント(アドレス)切り替えを検知 web3.js@1.0.0
web3.js@1.0.0 を使用して、MetaMask のアカウント(アドレス)切り替えを検知する方法です。

サンプルコード
demo.js
const web3 = new Web3(Web3.givenProvider || 'wss://mainnet.infura.io/ws') var account = '' function getCurrentAccount() { return web3.eth.getAccounts() .then((accounts) => { return accounts[0] }) } var accountInterval = setInterval(async function() { const currentAccount = await getCurrentAccount() if (currentAccount !== account) { // MetaMask のアカウント(アドレス)が切り替わった account = currentAccount alert("Current Account: " + account) } }, 300)