我有一个聪明的合同,它是在围棋( 1.9.11版本,如果重要的话) 本机绑定生成的。我正在寻找一种方法来估计油量限制,然后调用智能合同的方法。
除了提供原始消息之外,我在文档中找不到任何方法来估计事务的气体使用情况,而原始消息似乎一开始就没有实现绑定的目的。
现在我想出了这个:
//error handling removed for brevity
//contracts.MyContractABI is from abigen file.
abi, _ := abi.JSON(strings.NewReader(contracts.MyContractABI))
data, _ := abi.Pack("myFunction", myParam, myParam2)
ethRPCParams := ethereum.CallMsg{
From: from,
To: contractAddr,
Value: big.NewInt(0),
Data: data,
}
gas, _ := c.ethClient.EstimateGas(context.Background(), ethRPCParams)但是,将abi与BoundContract中已经存在和实例化的abi分别实例化似乎是一种解决办法。
因此,我的问题是,怎样才是处理这项行动的适当方法?例如,在估计天然气价格时,我没有得到数据类型的安全性,我必须重新实例化一些应该已经实例化的东西,代码的可读性差等等。
发布于 2021-03-19 18:09:48
NoSend选项被添加到TransactOpts中。也许正是你想要的。
https://ethereum.stackexchange.com/questions/94142
复制相似问题