如何在Solidity中从一个给定的合同代码和地址中获得ABI json文件?

1,298 阅读1分钟

本教程展示了为一个给定的合同源代码生成应用二进制接口json文件的方法。

应用二进制接口是一个包含JSON格式合同的功能和参数的接口。它被用来对区块链交易的数据进行编码和解码。

使用本地solc编译器生成ABI json文件

如果solidity编译器安装在本地机器上,并且solc命令正在工作,那么输入以下命令就可以得到Abi文件。要安装solc编译器:

  • 首先,你需要安装nodejs。
  • 接下来安装solc包,它是solidity的一个javascript绑定。
  • 一旦npm库安装完毕,solc 命令就会生效。

你可以在命令行中的--abi 选项来获得生成的ABI代码。这将生成ABI json文件,同时,--bin 选项提供了部署合同的功能。

如何在Remix IDE中获得ABI文件

以下是为特定智能合约获取ABI JSON文件的步骤:

  • 进入https://remix.ethereum.org/ ,并创建一个合同源代码。
  • 进入Solidity Compiler选项卡,从顶部-底部选项卡中选择ABI,如给定的屏幕截图。
  • 您可以点击ABI并将其复制到剪贴板上
[    {        "inputs": [],
        "name": "addEmployee",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    }
]

如何为一个给定的合同地址获得ABI json文件?

另一种方法是为一个给定的合同地址获取ABI json文件:

  • 转到EtherScan
  • 输入合同地址以打开合同
  • 进入合同标签并选择Code
  • Code 里面,你可以找到Contract ABI 并复制它。

总结

综上所述,您学会了多种方法来获取给定合同源代码或地址的ABI json。