Я просмотрел документацию здесь https://metamask.github.io/metamask-docs/Main_Concepts/Getting_Started
Но я не уверен, как определить выход пользователя из MetaMask?
Я просмотрел документацию здесь https://metamask.github.io/metamask-docs/Main_Concepts/Getting_Started
Но я не уверен, как определить выход пользователя из MetaMask?
window.ethereum.on('accountsChanged', function (accounts) {
let acc = accounts[0]
acc будет неопределенным, если они вышли из системы.
window.ethereum.on('accountsChanged', (accounts) => {
// If user has locked/logout from MetaMask, this resets the accounts array to empty
if (!accounts.length) {
// logic to handle what happens once MetaMask is locked
}
});
Таким образом, используя вышеизложенное, вы можете обнаружить блокировку / выход из MetaMask.
Из Ethereum Provider API MetaMask:
ethereum.on('accountsChanged', handler: (accounts: Array<string>) => void);
Провайдер MetaMask генерирует это событие всякий раз, когда изменяется возвращаемое значение RPC-метода eth_accounts. eth_accounts возвращает массив, который либо пуст, либо содержит единственный адрес учетной записи. Возвращенный адрес, если таковой имеется, является адресом последней использованной учетной записи, к которой вызывающему абоненту разрешен доступ. Вызывающие абоненты идентифицируются по их источнику URL, что означает, что все сайты с одинаковым происхождением имеют одинаковые разрешения.