Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Ethereum Provider Initialization Event

New event dispatched on window: ethereum#initialized

Event name inspired by JSDoc @event tag: https://jsdoc.app/tags-event.html

if (window.ethereum) {

  handleEthereum()

} else {

  window.addEventListener(
    'ethereum#initialized',
    handleEthereum,
    { once: true }
  )

  // If the event is not dispatched by the end of the timeout,
  // the user probably doesn't have MetaMask installed.
  setTimeout(handleEthereum, 3000) // 3 seconds
}

function handleEthereum () {
  const { ethereum } = window
  if (ethereum && ethereum.isMetaMask) {
    console.log('Ethereum successfully detected!')
    // Do work...
  } else {
    console.log('Please install MetaMask!')
  }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment