autenticación necesaria: contraseña o desbloqueo

Estamos usando Microsoft Azure y NodeJS en el servidor. Cuando nos dirigimos a Microsoft Azure a través de NodeJS, a veces obtenemos el error 'Contraseña o desbloqueo'. Pero cuando usamos Truffle y nos dirigimos al mismo setter, todo funciona bien. Cuál podría ser el posible problema y qué significa este error ya que desbloqueé mi cuenta.

Este es mi código:

this.web3.eth.getCoinbase()
        .then(coinbase => {
            console.log("Setter method started!");
            return this.contract.methods
                .setCopyright(
                    queryParams.certificateNumber,
                    queryParams.typeString,
                    queryParams.nameOfObject,
                    queryParams.firstName,
                    queryParams.secondName,
                    queryParams.lastName
                )
                .send({
                    from: coinbase,
                    gas: 4600000,
                    gasPrice: '22000'
                });
        })
        .then(resolve)
        .catch(err => {
            reject(err);
        });

Respuestas (3)

Al enviar una transacción, no "desbloqueas personal", desbloqueas la cuenta que envía la transacción.

En este caso, podrías hacer:

return web3.personal.unlockAccount(ADDRESS, PASSWORD, TIME (if needed) );
.then(do whatever you want after that)
Lo siento, pero lo sé. Lo hago, y mi problema no es el problema "desbloquear la cuenta", cuando le pregunto a mi función de configuración, a veces tengo el error "se necesita autenticación: contraseña o desbloqueo". Pero mi cuenta está desbloqueada. Ese error solo en mi proyecto nodejs, pero mi función de establecimiento en la llamada de trufa correctamente. ¿Por qué?
Obviamente, si su nodo dice que su cuenta no está desbloqueada, no lo está. no sé por qué

recomiendo esta solucion

personal.unlockAccount(Address, Password, 0)

0 es desbloquear sin límite de tiempo

invalid argument 1: json: cannot unmarshal hex string without 0x prefix into Go value of type hexutil.Bytes
La dirección es 0x~~~ deberías crear una cuenta primero

Encontré una solución. Si alguien la necesita en el futuro: primero creé varios miembros (líder de Ethereum y miembro de Ethereum) en Azure y no funcionó. Luego eliminé todos los grupos de varios miembros y creé un grupo "Blockchain". Y está correctamente trabajado.