![](/img/trans.png)
[英]Call specific solidity function from deployed smart contract within react through javascript (web3.js)
[英]Unable to call function from smart contract using web3.js
我正在尝试使用 web3 从我的智能合约中调用 function 并做出反应。 这是我的代码。
app.js
const project=new web3.eth.Contract(Mycontractabi.abi,networkData.address);
const retailer=await project.getretailer.call();
console.log(retailer);
contract:
address public retailer
function getretailer() public view returns (address)
{
return retailer;
}
请指出问题所在,因为我无法获得代码所需的零售商地址
我发现使用 web3.js 从智能合约访问变量有一个简单的方法:
contract.methods.variable_name.call().call();
所以在我的例子中,修改后的代码将是:
const project=new web3.eth.Contract(Mycontractabi.abi,networkData.address);
const retailer=await project.methods.retailer.call().call();
无需调用任何 function 即可访问单个变量。 我们可以使用上述方法直接访问任何变量。
您可以像下面这样拨打 function。
const retailer = await project.methods.retailer().call();
如果一个方法有一些参数,你可以使用:
const response = await project.methods.myAnotherMethod(param1, param2).send({from: address});
address
是当前连接的钱包地址。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.