MOAC实战 - 11. 调用合约-不需要Gas

前言

合约的调用是执行合约中的方法。一般读取是不需要gas的,写入等操作是需要gas的。

我们先从简单的入手,调用不需要gas的合约。

正文

直接上代码来解释

1. 建立连接

这部分可以参照之前的文章

2. 读取合约ABI文件

1
2
3
// 读取ABI
const abiPath = path.join(__dirname, 'xxx/Test.abi');
const abiFile = JSON.parse(fs.readFileSync(abiPath, 'utf8'));

3. 使用 Chain3 连接合约

合约地址的计算可参考之前的文章

1
2
3
4
const MyContract = chain3.mc.contract(abiFile);
// 合约地址
const contractAddress='0x06efa91fbaf9d20930f461684b92573bf8fb8042';
const myContractInstance = MyContract.at(contractAddress);

4. 直接调用合约

这里举例说明了,直接调用函数,和函数的传参。

1
2
3
4
const result1 = myContractInstance.symbol();
const result2 = myContractInstance.name();
const result3 = myContractInstance.totalSupply();
const result4 = myContractInstance.balanceOf('0x7c1fc19567bbdf6d34c989a86d5b1e421c1f2f45');

结语

不需要Gas的合约调用还是比较简单的,只需要有合约的abi文件,和合约地址。我们就可以调用不用gas的方法。

  • 版权声明: 本博客所有文章,未经许可,任何单位及个人不得做营利性使用!转载请标明出处!如有侵权请联系作者。
  • Copyrights © 2015-2023 翟天野

请我喝杯咖啡吧~