Estoy tratando de llamar al método de contrato inteligente (implementado en una cuenta remota de ethereum) desde mi DAPP de nodejs y obtengo el siguiente error:
Error: authentication needed: password or unlock
at Object.InvalidResponse (D:\dapp\node_modules\web3\lib\web3\errors.js:38:16)
Mi código DAPP web3 se ve así:
var ABI = [abiinterface];
var contract = web3.eth.contract(ABI);
var contractInstance = contract.at(accAddress);
Ejecuté el código de desbloqueo en mi consola geth usando personal.unlockAccount("dirección") que devolvió verdadero, pero aún obtengo el error 'autenticación necesaria: contraseña o desbloqueo' en el dapp. Cualquier ayuda o sugerencias son muy apreciadas. Gracias.
Primero, asegúrese de tener una cuenta.
web3.personal.listAccounts
Si consigues []
...
web3.personal.newAccount()
Intentar otra vez.
Después ...
web3.personal.unlockAccount(web3.personal.listAccounts[0],"<password>", 15000)
lo que significa desbloquear la primera cuenta con esta contraseña durante 15,000 segundos (no me molestes por un tiempo).
El lado de DAPP debería dejar de quejarse del bloqueo.
Espero eso ayude.
Estaba enfrentando un problema similar antes. Asegúrese de que se tengan en cuenta las siguientes 3 cosas:
web3.personal.unlockAccount(web3.personal.listAccounts[0],"MyPassword", 15000)
En mi caso, fue la primera cuenta en sí.Este error se trata de desbloquear la cuenta en su nodo ethereum. La dificultad es detectar la causa oculta. Algunos errores en web3js causarían el mismo problema:
Por ejemplo
web3.eth.personal.unlockAccount(_senderAddress, password, 0).then(
...
)
emitiría este problema ya que no esperará al desbloqueo. Así que use una devolución de llamada o espere.
web3.eth.personal.unlockAccount(_senderAddress, password, 0).then(
isunlocked => {
}
})
Zhanbolat Nurutdin
Richard Horrocks
Zhanbolat Nurutdin
Malone