我如何从 abi json 文件智能合约调用智能合约中的函数

how can i call a function in a smart contract from an abi json file smart contract

我有合同的 abi json 文件,我想在我的智能合同中使用它的功能。 有什么办法吗?

例如,我的 contractA 中有一个 contractA.sol 和 contractB.jsonn 我想在 contractB 中调用函数 fncA,但是 contractB 已经部署,我只有它的 abi 文件。 我将 json 文件导入到我的合同中,但我不知道如何获取它的功能并使用它们。

import '../abis/contractB.json'
contract contractA {
.
.
.
// i want to use funcA from contractB contract here.
.
.
.
}

是的,您只需几步即可完成。只需使用特定函数的 abi 并将其粘贴到您当前正在处理的智能合约的新 abi 中,然后仅使用 web3 调用该方法。

如有疑问请回复

不幸的是,solidity 不支持使用 json ABI 作为接口。

您可以使用像这样的工具 https://gnidan.github.io/abi-to-sol/ 生成界面,然后将其复制到 'IContractB.sol` 文件中,该文件可以导入您的 'ContractA.sol'.