'autenticación necesaria: contraseña o desbloqueo' Error al intentar llamar al método de contrato inteligente a través de web3

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.

Yo tengo el mismo problema. ¿Encontraste una solución?
Esto realmente no responde la pregunta. Si tiene una pregunta diferente, puede hacerla haciendo clic en Preguntar . También puede agregar una recompensa para llamar más la atención sobre esta pregunta una vez que tenga suficiente reputación . - De la revisión
Ya creé una nueva "Pregunta" para mi problema. Sólo este problema como una mina. Y no encontré solución para el problema. Mi pregunta
Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente reputación , podrá comentar cualquier publicación ; en su lugar, proporcione respuestas que no requieran aclaración por parte del autor de la pregunta . - De la revisión

Respuestas (3)

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.

La nueva cuenta ya existe y logré desbloquearla usando la consola geth. Todavía recibo el error en el lado DAPP.
usar MetaMask y seleccionar la cuenta desbloqueada?

Estaba enfrentando un problema similar antes. Asegúrese de que se tengan en cuenta las siguientes 3 cosas:

  1. La cuenta que está utilizando es la primera de la lista de cuentas. (O, si está utilizando alguna otra cuenta, asegúrese de haber realizado el cambio correspondiente en el código nodejs).
  2. Asegúrate de desbloquear esta misma cuenta usando web3.personal.unlockAccount(web3.personal.listAccounts[0],"MyPassword", 15000)En mi caso, fue la primera cuenta en sí.
  3. La cuenta contiene algo de éter.

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 => {
        }
})