[Ethereum] ‘authentication needed: password or unlock’ Error when trying to call smart contract method via web3

blockchainethereumjweb3js

I am trying to call the smart contract method (deployed on remote ethereum account) from my nodejs DAPP, and getting the following error-

Error: authentication needed: password or unlock
    at Object.InvalidResponse (D:\dapp\node_modules\web3\lib\web3\errors.js:38:16)

My web3 DAPP code looks like this-

var ABI = [abiinterface];
var contract = web3.eth.contract(ABI);
var contractInstance = contract.at(accAddress);

I have run the unlock code on my geth console using-
personal.unlockAccount("address") which returned true, but still getting the 'authentication needed: password or unlock' error in the dapp.
Any help or pointers are much appreciated. Thanks.

Best Answer

First, make sure you have an account.

web3.personal.listAccounts

If you get [] ...

web3.personal.newAccount()

Try again.

Then ...

web3.personal.unlockAccount(web3.personal.listAccounts[0],"<password>", 15000)

meaning unlock the first account with this password for 15,000 seconds (don't bug me for a while.)

The DAPP side should stop complaining about the lock.

Hope it helps.