Как получить список учетных записей из нового API MetaMask ethereum?

#javascript #ethereum #web3 #metamask

Вопрос:

MetaMask недавно изменил способ внедрения своего API и больше не предоставляет window.web3 объект.

MetaMask больше не внедряет web3. Для получения более подробной информации см.: https://docs.metamask.io/guide/provider-migration.html#replacing-window-web3

Uncaught TypeError: web3.eth is undefined

Как получить список учетных записей из нового ethereum API MetaMask?

Ответ №1:

Вы можете использовать window.ethereum объект, введенный с помощью MetaMask или других кошельков.

 if (typeof window.ethereum !== 'undefined') {
  // connects to MetaMask
  const accounts = await ethereum.request({ method: 'eth_requestAccounts' });
} else {
  // tell the user to install an `ethereum` provider extension
}
 

При этом используется новый API, вызывающий асинхронный запрос Ethereum у поставщика. Он принимает большинство API Ethereum и довольно универсален в реализации.