我在metamask中收到错误“MetaMask Web3对象不支持没有回调参数的eth_sendTransaction等同步方法。”
我试图将三个参数传递给一个solidity函数,但我试图插入的回调似乎不起作用?
下面是js代码,只是一个按钮和HTML
中变量的3个标签$('#proposalbutton').click(function() {
log("Calling add proposals...");
community.newProposal($("#address").text(), $("#coinAmount").val(),
$("#jobDescription").text()), (err, res) =>{
if (!err) {
log("Proposals call executed successfully.");;
}
}
});
有谁可以指出我做错了什么?我无法弄清楚回调。 下面是solidity函数标题
function newProposal(
address beneficiary,
uint coinAmount,
string jobDescription
)
onlyMembers public
returns (uint proposalID)
答案 0 :(得分:0)
回调是您的Solidity合约参数后发送的最后一个参数。看起来你只是在函数参数列表后关闭newProposal
。
community.newProposal($("#address").text(), $("#coinAmount").val(),
$("#jobDescription").text(), (err, res) => {
if (!err) {
log("Proposals call executed successfully.");;
}
});
附加说明:事务方法不会返回值。您的回复中不会得到proposalID
。使用事件或将结果存储在合同状态中,然后使用view
函数将其返回。