私は web3 CDN を使用しており、2 つの変数を使用してコントラクトをデプロイしました。例:
pragma solidity ^0.5.0;
contract Sweet() {
address public owner;
uint256 sweets;
uint256 shops;
constructor(uint256 _sweets, uint256 _shops){
owner = msg.sender;
sweets = _sweet;
shops = _shops;
}
function setSweetAndShop(uint256 _sweets, uint256 _shops) public {
sweets = _sweets;
shops = _shops;
}
}
このサンプル コードをデプロイすると、リミックスですべて正常に動作します。その後、サンプル DAPP を作成しました。
async function change(){
var web3 = await new Web3(window.ethereum);
var account = await web3.eth.getAccounts();
var abi = [];
var contract = "0x000000000.........";
var token = new web3.eth.Contract(abi, contract);
try{
token.methods.setSweetAndShop(10, 20).call({
from: account[0],
gas: 800000
})
.then(function(error, result) {
if (!error){
console.log(result);
}else{
console.log(error); // This part is returning an error g{} , no data inside.
}
})
}catch(error){
console.log(error)
}
}