接受JavaScript中的参数以发送到Solidity智能合约

时间:2018-08-11 17:04:23

标签: javascript solidity smartcontracts web3

编写此简单的实体合同,使函数接受一些参数。

function fund(uint _dbIndex, uint _fundedAmount) public {
    uint totalAmount = projectWallets[_dbIndex].fundedAmount;
    totalAmount += _fundedAmount;
    projectWallets[_dbIndex].fundedAmount = totalAmount;
}

创建此智能合约后,我尝试使用javascript将SC连接到HTML页面。我设法使一个没有参数的函数正常工作,但是如果函数中有参数,则无法正常工作。

<input type="number" min="0" placeholder="Fund Amount" style="color: black;" id="fund">
<button id="fund_project">Fund Project</button>

上方是将值发送到智能合约的输入和按钮。

$('#fund_project').click(function (e) {
  e.preventDefault();

  log("Calling fund function...");

  counter.fund(dbIndex, funds);
});

这是代码的一部分,我使用参数来接收函数。我如何使它工作?

1 个答案:

答案 0 :(得分:0)

回调是在操作完成时调用的函数。您需要使用一个,例如:

counter.fund(dbIndex, funds, function (err, result) {
  if (err) {
    console.log('Error: ' + err);
  }
  else {
    console.log(result);
  }
);