función de solidez:
function getCredentials(uint id) public constant returns(string,string,uint)
{
address ad=acadr[id];
uemail=email[ad];
ulocation=location[ad];
ugid=gid[ad];
return (uemail,ulocation,ugid);
}
código de llamada web3:
myInstance.getCredentials(1,function (error, result) {
if (!error) {
console.log(result);
} else
console.log(error);
}
esto imprime un valor hexadecimal en registro en lugar de cadena e int
por favor ayuda !
su función está actualizando los valores de los verificables, por lo que se considerará como una función transaccional y se generará una transacción para ella en blockchain,
Y lo que obtendrá a cambio de la llamada es el hash de transacción (id de transacción) de esa transacción,
Así que 2 opciones aquí
Escribe una función constante para obtener los valores de las variables.
use eventos, una especie de mecanismo de registro en solidez, que le devolverá los valores después de la extracción exitosa de su transacción.
Para usar eventos, eche un vistazo al código en esta pregunta
Úselo .call
para enviarlo como una llamada de solo lectura en lugar de una transacción.
myInstance.getCredentials.call(1, (error, result) => {
})