Я определил функцию интеллектуального контракта, которая принимает хеш keccak в качестве аргумента, который определяется как bytes32 .Поэтому я пишу это следующим образом:
function printRequested(bytes32 _gcodeHash) public {
require(msg.sender == company);
gcodeHashCompany = _gcodeHash;
b_printRequested = true;
}
Поэтому я пытаюсь загрузить пример хэша, используя подробные web3js приложения NodeJS с провайдером, настроенным на Ropsten:
PrintProofOfWork.methods.printRequested(web3.utils.fromAscii(gcodeHash)).send({from: web3.eth.defaultAccount})
.then((result) => {
log(`result of the invokation: ${result})`.red);
}).catch((err) => {
log(`error occurred: ${err})`.red);
});
где
var gcodeHash = "f36d1bddbbc060ed8d76aae7efca46f549ccb1e2ebec8afc28a137bc00e04837";
1011 * Но я получаю следующее сообщение об ошибке:
ошибка: ошибка: недействительное значение bytes32 (ARG = "_ gcodeHash", coderType = "bytes32", значение = "0x66333664316264646262633036306564386437366161653765666361343666353439636362316532656265633861666332386131333762633030653034383337", версия =4.0.25))