I'm trying to initiate a transaction onClick of a button on my UI, however on load web3.eth.accounts is returning emtpy, is this because Im running locally? does MetaMask not work locally?

Yet when I run 'web3.eth.accounts' in the console, it returns addresses relevant to MetaMask

  • Put more information....
    – Gawey
    Jul 17 '17 at 13:37

When you say "running locally", you make me think you're initializing a separate web3 object that is not initialized with MetaMask's provider object.

To use MetaMask accounts, you should be initializing any local web3 instance from the injected metamask provider, as shown in this example:


  • Thanks, yes this was the problem I was initializing a web3 object with both MetaMask and infura, this was conflicting with 'to: address' attribute and returning a invalid address error Jul 18 '17 at 9:08

You can configure Metamask to work with your local test node. On the top left corner where you see the fox icon wyou can click where it says Ethereium Main Network and select localhost:8545 or add a custom RPC address.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.