Solidity中的ABI文件以及Bin文件详解

您所在的位置:网站首页 ESF文件和Bin文件 Solidity中的ABI文件以及Bin文件详解

Solidity中的ABI文件以及Bin文件详解

2024-05-09 21:10| 来源: 网络整理| 查看: 265

Solidity中的ABI文件以及Bin文件 1、什么是ABI文件?

ABI全名:Application Binary Interface,应用二进制接口文件。智能合约的接口描述,描述了字段名称、字段类型、方法名称、参数名称、参数类型、方法返回值类型等。

当合约被编译后,对应的abi文件也就确定了。

2、部署合约步骤 编写智能合约代码(以太坊官方推荐的是Solidity语言) 编译合约,将Solidity编写的代码编译成EVM可识别的bytecode,同时生成abi文件。 部署合约,将合约部署到区块链上,生成合约地址,将合约内容(也就是上一步的bytecode)作为输入,部署合约是一个交易的过程,会生成交易hash。 执行合约,获取合约地址,然后传入参数调用合约中的方法,获取执行结果。

从以上的步骤中可以看出,部署合约时EVM虚拟机需要的是Solidity合约的二进制代码也就是bytecode(Bin文件)。ABI文件与合约部署到区块链没有关系,但是如果想要调用已经在区块链上的合约方法就需要ABI文件。

ABI文件中是描述合约内容的json字符串。

3、怎么获取ABI文件? 3.1、编写一个简单的智能合约代码 // SPDX-License-Identifier: GPL-3.0 //合约的编译版本声明 pragma solidity >=0.7.0 { if(err){ console.log("Error:"+JSON.stringify(err)); }else{ console.log(JSON.stringify(res)); } }); //调用retrieve方法,查询合约 contracthods.retrieve().call().then((res,err)=>{ if(err){ console.log("Error:"+JSON.stringify(err)); }else{ console.log(JSON.stringify(res)); } });


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3