функция прочности:
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);
}
код вызова web3:
myInstance.getCredentials(1,function (error, result) {
if (!error) {
console.log(result);
} else
console.log(error);
}
это печатает шестнадцатеричное значение в журнале вместо строки и целого числа
пожалуйста помоги !
ваша функция обновляет значения veriables, поэтому она будет рассматриваться как транзакционная функция, и для нее будет сгенерирована транзакция в блокчейне,
И то, что вы получите в ответ на вызов, является хэшем транзакции (идентификатором транзакции) этой транзакции,
Так что тут 2 варианта
Напишите константную функцию для получения значений переменных
использовать события, своего рода механизм ведения журнала в Solidity, который будет возвращать значения, переданные ему после успешного майнинга вашей транзакции.
Для использования событий посмотрите код в этом вопросе
Используйте .call
, чтобы отправить его как вызов только для чтения вместо транзакции.
myInstance.getCredentials.call(1, (error, result) => {
})