Remix编译合约的ABI以及ByteCode位置

Posted 知音微客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Remix编译合约的ABI以及ByteCode位置相关的知识,希望对你有一定的参考价值。

Remix中合约编译后的ABI以及bytecode位置

remix地址:https://remix.ethereum.org/

(1)在remix中,创建合约Storage.sol

image-20210515190015430

(2)编译合约代码,点击左侧如下图所示图标

image-20210515190116411

(3)编译代码

image-20210515190227725

可以看到编译的版本是0.8.1版本。

我这里勾选了自动编译,如果没有勾选自动编译,就需要手动编译合约代码。编译成功就会有一个绿色的对号图标显示。

(4)查看abi文件,进入刚才第一步的界面,找到contracts合约文件夹下的artifacts文件夹,找到以合约名开头的json文件

image-20210515190458437

(5)Storage.json和Storage_metadata.json中都包含了ABI对应的json字符串

image-20210515190653756

(6)其中Storage.json包含了所有的信息,Storage_metadata.json也就是合约的元数据中包含了ABI的json串以及部分信息

部署合约时用到的EVM可识别的bytecode在Storage_metadata.json中的data.bytecode.object中,如下图:

image-20210515191835626

可以看到表示abi的json串就在最后。

以上是关于Remix编译合约的ABI以及ByteCode位置的主要内容,如果未能解决你的问题,请参考以下文章

web3使用web3.js发布并执行智能合约

在json里查看Solidity的版本

如何使用remix编写solidity智能合约并部署上链

使用Nodejs部署智能合约

在etherscan上传合约源码

thegraph subgraph 踩坑之入门青铜