Сохраните хеш keccak, используя функцию Smart Contract - PullRequest
0 голосов
/ 15 февраля 2019

Я определил функцию интеллектуального контракта, которая принимает хеш 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))

...