Я пытаюсь вызвать функцию солидности и получаю сообщение об ошибке.Вот как я создаю свой контракт:
var EthProjContract = web3.eth.contract(my abi);
var EthProj = EthProjContract.at('0xcce478FDeF9F1DF933e31B1eeA48561e0095628A');
Я вызываю свою функцию следующим образом:
EthProj.setMessage.sendTransaction(shoco.compress(document.getElementById("MessageBox").value), {from: document.getElementById("add").value})
и получаю эту ошибку:
Uncaught Error: Invalid number of arguments to Solidity function
Если выинтересно, что такое shoco.compress, он сжал мои строки в uint8arrays.Например,
shoco.compress("Hello")
возвращает Uint8Array(3) [72, 193, 77]
Если у меня есть Hello
в моем поле MessageBox
и вызову
EthProj.setMessage.sendTransaction(shoco.compress(document.getElementById("MessageBox").value), {from: document.getElementById("add").value})
, я получаю ошибку.Но когда я звоню
EthProj.setMessage.sendTransaction([72, 193, 77], {from: document.getElementById("add").value})
, это работает отлично.Это означает, что с моим текстом ничего не может быть.Так что же это может быть?Все, что я мог подумать, что это может быть, так это то, что Uint8Array(3)
пребывание там может испортить это.Если так, как я могу это исправить?