truffle(development)> web3.eth.accounts[0]

gives output as "undefined"

truffle(development)> web3.eth.accounts

instead of showing all accounts details gives the below output

Accounts {

currentProvider: [Getter/Setter],


RequestManager {


  HttpProvider {
    host: '',

    httpAgent: [Agent],
    timeout: 0,

    headers: undefined,

    connected: true,

    send: [Function],



truffle(development)> web3.eth.getAccounts

is working. please help

  • 1
    If web3.eth.getAccounts is working, then why don't you simply use it??? As of web3.js v1, web3.eth.accounts is deprecated. – goodvibration Jan 27 at 8:23
  • I can use it but I am not able to choose any of the accounts specifically which I was able to do with 'web3.eth.accounts[0]" , please let me know the replacement for this? – Yash Shukla Jan 27 at 9:06
  • 1. You cannot use it, as it is undefined; you even specify it in your own question! 2. You've already found a replacement, and again - you even specify it in your own question! – goodvibration Jan 27 at 9:51

from @goodvibration in the comments :

web3.eth.accounts is deprecated.

That is true. in the newer version of web3.js web3.eth.getAccounts returns a promise, so that is why doing :

var accounts = web3.eth.getAccounts();

will return undefined.

TLDR : use this code instead (if it works, didn't test) :

var accounts =  await web3.eth.getAccounts();

Use the code below to retrieve all the accounts

   var accounts = web3.eth.getAccounts();

Use this code to reference a single account

   var account0;
     account0 = result[0];

Your Answer

