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);
});
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)
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
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.
Zhanbolat Nurutdin
Iteración 122442