#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 и довольно универсален в реализации.