我的固定代码有问题。
我认为,问题account.transfer
我正在使用ganache,remix,metamask,web3
这是我的验证码。
`pragma solidity ^0.4.25;
contract test{
address fire_account=0x6F3c5e42c340736eEa9a1C362592Bef9Ba2E5561;
mapping(string => uint) fire_record;
function fireDonation(string contributorName) payable{
fire_account.transfer(msg.value);
fire_balance+=msg.value;
fire_contributor.push(contributorName);
}
}`
和web3.js代码
var Courses;
async function init(){
web3 = await new Web3(new Web3.providers.HttpProvider("http://localhost:7545"));
web3.eth.defaultAccount = web3.eth.accounts[2];
console.log("Default account is ",web3.eth.accounts[2]);
//Change the ABI here
var CoursesContract = web3.eth.contract(/*skip*/);
//Replace Deployed Smartcontract Address here
var contractaddress = "0x9b95f972feaad42f2023246112f450c56d8921ae";
Courses = CoursesContract.at(contractaddress);
}
init();
function fireDonate(){
var amount=parseInt(document.getElementById('amount').value);
console.log(amount);
Courses.fireDonation(document.getElementById('contributor').value, {from: web3.eth.accounts[2], value: amount});
}
您能告诉我解决方案或链接吗? 我找不到链接。
答案 0 :(得分:1)
您的智能合约似乎需要比默认金额更多的天然气(费用)来执行。您必须从默认值增加gasLimit和gasPrice。您可以像这样以十六进制形式指定它们。
$table = $html->find('table');
$Data=array();
$i=0;
$k=1;
foreach(myFind($table,'td') as $cell) {
$tpr= $cell->innertext;
$pattern = "(-?\d{1,2}\,\d)";
preg_match($pattern , $tpr, $match);
$rowData[] =$match;
$i++;
if(fmod($i, 7)==0){
$Data[$k]=array_slice($rowData,1);
$rowData=array();
$k++;
$i=0;
}
}
convertCSV($Data);
function convertCSV($Data){
$fp = fopen('file.csv', 'w');
foreach ($Data as $fields){
fputcsv($fp, $fields, $delimiter = ";");
}
fclose($fp);
}
您可能必须更改确切的值才能查看适用于您的用例的内容。