以太坊abi以太坊abi解析

基金理财 阅读 124 2023-12-27 20:19:58

其实以太坊abi的问题并不复杂,但是又很多的朋友都不太了解以太坊abi解析,因此呢,今天小编就来为大家分享以太坊abi的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

iOS应用程序如何调用以太坊智能合约以太坊的ABI编码区块链和智能合约,以太坊开发,183位开发者整理,知识体系汇总智能合约abi弄不出来怎么办iOS应用程序如何调用以太坊智能合约以太坊智能合约有各种各样的用例,但到目前为止,从你的iOS应用程序中调用它们非常困难。不过如果使用以太坊iOS开发套件和EtherKit,这种情况会改善很多,你可以立即开始使用。在本教程结束时,你将能够调用其ABI(应用程序二进制接口)中定义的任何公共合约函数。

对于这个项目,我们将使用Xcode10.0和ContractCodegen0.1。我们还建议使用iOSMVVM项目模板,但为了使本教程简单,我们将使用正常的iOS项目结构。

以太坊的ABI编码ABI全称ApplicationBinaryInterface,是调用智能合约函数以及合约之间函数调用的消息编码格式定义,也可以理解为智能合约函数调用的接口说明.类似Webservice里的SOAP协议一样;也就是定义操作函数签名,参数编码,返回结果编码等。

使用ABI协议时必须要求在编译时知道类型,即强类型相关.

当一个智能合约编译出来后,他的abi接口定义就确定了.比如下面的智能合约:

生成的字节码:

生成的abi定义:

可以看出,生成abi包含了2个定义:函数lotus,事件Log_lotus,各个字段含义见上.根据该abi定义,就可以生成调用该智能合约函数的abi格式的数据了.

格式简单的可以表示为:函数选择器+参数编码

一个函数调用的前四个字节数据指定了要调用的函数签名。计算方式是使用函数签名的keccak256的哈希,取4个字节。

函数名如果有多个参数使用,隔开,要去掉表达式中的所有空格。在geth客户端,通过命令可以得到hash:

由于前面的函数签名使用了四个字节,参数的数据将从第五个字节开始。

根据参数类型,编码规则有所区别:

除了bytes,和string,其他类型的数据不足32字节长度的需要加0补足32字节.动态长度的编码在例子中介绍.

函数:functionbaz(uint32x,booly):

调用:baz(69,true)

生成的数据如下:

返回结果是一个bool值,在这里,返回的是false:

函数:f(uint,uint32[],bytes10,bytes)

调用:(0x123,[0x456,0x789],"1234567890","Hello,world!")

函数选择器:bytes4(sha3("f(uint256,uint32[],bytes10,bytes)"))

对于固定大小的类型值uint256和bytes10,直接编码值。

对于动态内容类型值uint32[]和bytes,我们先编码偏移值,偏移值是整个值编码的开始到真正存这个数据的偏移值(这里不计算头四个用于表示函数签名的字节)。

所以参数编码数据依次为:

尾部部分的第一个动态参数,[0x456,0x789]编码拆解如下:

最后我们来看看第二个动态参数的的编码,Hello,world!。

所以最终结果是:

区块链和智能合约,以太坊开发,183位开发者整理,知识体系汇总在以太坊上开发应用程序的可用工具、组件、模式和平台的指南。

此列表的创建是由ConsenSys的产品经理推动的,他们认为需要在新的和有经验的区块链开发人员之间更好地共享工具、开发模式和组件。

开发智能合约

智能合约语言

构架

IDE

其他工具

测试区块链网络

测试以太水龙头

前端以太坊API

后端以太坊API

引导程序/开箱即用工具

以太坊ABI(应用程序二进制接口)工具

以太坊客户端

贮存

Mahuta-具有附加搜索功能的IPFS存储服务,以前称为IPFS-Store

OrbitDB-IPFS之上的去中心化数据库

JSIPFSAPI-IPFSHTTPAPI的客户端库,用JavaScript实现

TEMPORAL-易于使用的API到IPFS和其他分布式/去中心化存储协议

PINATA-使用IPFS的最简单方法

消息传递

测试工具

安全工具

监控

其他杂项工具

Cheshire-CryptoKittiesAPI和智能合约的本地沙箱实现,可作为TruffleBox使用

ERCs-以太坊评论请求存储库

ERC-20-可替代资产的原始令牌合约

ERC-721-不可替代资产的令牌标准

ERC-777-可替代资产的改进令牌标准

ERC-918-可开采令牌标准

流行的智能合约库

可扩展性

支付/状态通道

等离子体

侧链

POA桥

POA桥用户界面

POA桥梁合同

ZK-SNARK

ZK-STARK

预构建的UI组件

以上内容,来自git库:

github.com/ConsenSys/ethereum-developer-tools-list

我是鱼歌,一个在深圳创业的全栈程序员,主攻区块链,元宇宙和智能合约,附加小程序和app开发。

[祈祷]

智能合约abi弄不出来怎么办一般来说,部署智能合约的步骤为:

1启动一个以太坊节点(例如geth或者testrpc)。

2使用solc编译智能合约。=>获得二进制代码。

3将编译好的合约部署到网络。(这一步会消耗以太币,还需要使用你的节点的默认地址或者指定地址来给合约签名。)=>获得合约的区块链地址和ABI(合约接口的JSON表示,包括变量,事件和可以调用的方法)。(译注:作者在这里把ABI与合约接口弄混了。ABI是合约接口的二进制表示。)

4用web3.js提供的JavaScriptAPI来调用合约。(根据调用的类型有可能会消耗以太币。)

好了,文章到这里就结束啦,如果本次分享的以太坊abi和以太坊abi解析问题对您有所帮助,还望关注下本站哦!

火爆肥肠的做法你了解吗?相关知识分享

纯正黑芝麻糊如何自制?相关做法大分享

芬兰旅游如何玩?冬季出游推荐来咯

薄荷茶的做法?四种方法分享

相关内容

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至举报,一经查实,本站将立刻删除。
上一篇: 以前的比特币交易网站是什么名字以前的比特币交易网站是什么名字啊 下一篇: 以太坊approve以太坊approve授权函数

相关资讯

  • 别把钱存银行别把钱存银行了
    别把钱存银行别把钱存银行了

    大家好,今天小编来为大家解答以下的问题,关于别把钱存银行,别把钱存银行了这个很多人还不知道,现在让我们一起来看看吧!本文目录为什么银行希望你把钱存到

    基金理财 2025-09-26 190
  • 买哪个银行的股票好买哪个银行的股票好呢
    买哪个银行的股票好买哪个银行的股票好呢

    大家好,感谢邀请,今天来为大家分享一下买哪个银行的股票好的问题,以及和买哪个银行的股票好呢的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始

    基金理财 2025-09-24 190
  • 卡盟刷钻免费平台卡盟刷钻会封号吗
    卡盟刷钻免费平台卡盟刷钻会封号吗

    大家好,如果您还对卡盟刷钻免费平台不太了解,没有关系,今天就由本站为大家分享卡盟刷钻免费平台的知识,包括卡盟刷钻会封号吗的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

    基金理财 2025-09-04 190
  • 大华银行房货申请需要总行批准吗大华银行房货申请需要总行批准吗是真的吗
    大华银行房货申请需要总行批准吗大华银行房货申请需要总行批准吗是真的吗

    老铁们,大家好,相信还有很多朋友对于大华银行房货申请需要总行批准吗和大华银行房货申请需要总行批准吗是真的吗的相关问题不太懂,没关系,今天就由我来为大家分享分享大华银行房货申请需要总行批准吗以及大华银行房货申请

    基金理财 2025-08-25 190
  • 快手涨粉丝1元100卡盟快手涨粉丝1元100活粉
    快手涨粉丝1元100卡盟快手涨粉丝1元100活粉

    大家好,今天来为大家分享快手涨粉丝1元100卡盟的一些知识点,和快手涨粉丝1元100活粉的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一

    基金理财 2025-06-28 190
  • 去银监局还是银行工作去银监局还是银行工作比较好
    去银监局还是银行工作去银监局还是银行工作比较好

    其实去银监局还是银行工作的问题并不复杂,但是又很多的朋友都不太了解去银监局还是银行工作比较好,因此呢,今天小编就来为大家分享去银监局还是银行工作的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析

    基金理财 2025-06-26 190
  • 信托资产管理特点信托资产管理特点包括
    信托资产管理特点信托资产管理特点包括

    今天给各位分享信托资产管理的知识,其中也会对特点包括进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录信托的优缺点及建议

    基金理财 2025-06-26 190
  • 中国农业银行系统异常中国农业银行状态异常
    中国农业银行系统异常中国农业银行状态异常

    大家好,今天来为大家分享中国农业银行系统异常的一些知识点,和中国农业银行状态异常的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看

    基金理财 2025-06-05 190