如何以太坊的abi,以太坊的ABI编码

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载   官网注册
币安app

binance币安交易所

币安交易所app是全球排名第一的虚拟货币交易所,注册领取盲盒礼包!

APP下载   官网注册

如何以太坊的abi,以太坊的ABI编码

一、如何创建比特币/加密货币交易平台

1、打开网站,注册。

百度搜索“一键发行以太坊”,选择点击“一键发行以太坊代币,区块浏览器可查”

进入网站,点击注册。填写手机号,用户昵称密码,完成注册。

2、登录账号。

登录账号进行选择充值套餐。

发行一种代币需要消耗账户余额,系统赠送ETH转账时需要经过多个以太坊区块确认,中间有几分钟延迟。

我建议如果发行代币的话,充值账户分别有两个套餐供您选择:

1、可以直接选择第一种套餐,送0.0138以太坊,可以直接发行代币了。

2、如果发币是为了对接后期应用,或者需要上交易所的话,建议您选择第二种的套餐,这个套餐会为您保留币的合约代码和ABI接口代码。

3、创建代币。

填写需要发行的代币名称、符号和发行总量,确认创建。

发行成功后点击“代币”就可以进去查看,然后点击合约地址到以太坊浏览器查看币的详情了。

属于你的代币就发行成功了,就是这么简单!中途有什么问题还可以随时联系客服电话一五一八八三五八六零七(微信同),我们会第一时间为您解决问题。

二、以太坊的ABI编码

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

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

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

生成的字节码:

生成的abi定义:

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

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

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

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

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

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

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

函数: function baz(uint32 x, bool y):

调用: 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!。

所以最终结果是:

三、Hyperledger Fabric如何通过虚拟机部署以太坊智能合约

EVM作为用户链代码安装到Fabric中,通过它部署智能合约。单个EVM链代码能在通道上运行多个以太坊智能合约。链码不采用以太坊的共识方法。所有事务遵循Fabric事务流中的执行、订单、验证步骤。在不同组织中确保足够的对等方安装链代码,并设置一个确保一定程度分散的认可政策。与已部署的智能合约交互需要fab3,它通过以太坊JSON RPC API实现一组有限的API,用作web3提供者。

为了安装EVM链代码,链代码位于evmcc下的repo fabric-chaincode-evm。安装链码通常遵循常规步骤,基于fabric-samples中first-network教程的1.3版。

挂载EVM链代码需要更新docker-compose-cli.yaml,包含fabric-chaincode-evm。

通过运行启动网络,执行docker exec-it cli bash命令。如果成功,应显示提示信息。

更改目标对等方,使用环境变量如CORE_PEER_MSPCONFIGPATH、CORE_PEER_ADDRESS、CORE_PEER_LOCALMSPID和CORE_PEER_TLS_ROOTCERT_FILE。

在所有对等设备上安装EVM链代码,执行peer chaincode install和peer chaincode instantiate命令。

与EVM Chaincode交互,有通用方法:通常的Fabric工具和Web3。

使用Peer CLI,部署合约时,to字段设为零地址,input包含合约编译后的evm字节码。与合约交互,设置值,如使用set(x)函数,将值设置为10,然后使用get()函数验证值是否正确。

使用Web3.js库可以改善部署和管理EVM智能合约的用户体验。它期望实现以太坊JSON RPC API的接口。通过设置Fab代理,实现与Fabric网络的交互。

部署合约时,需要evm字节码和合约的ABI。使用web3部署合约后,设置web3.eth.defaultAccount,与合约进行交互,如设置值或验证值。

综上所述,Hyperledger Fabric通过虚拟机部署以太坊智能合约的方法涉及链代码安装、交互和与合约的部署。在部署和管理过程中,利用Fabric工具和Web3.js库可以有效实现智能合约的管理与交互。

本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/jys/152525.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年12月27日
下一篇 2024年12月27日

相关推荐

  • 以太经典币最高是多少,比特币现金会不会成为下一个以太坊经典

    一、ddam虚拟币排在世界多少不入流。世界十大虚拟货币排名:一、比特币 BTC(BITCOIN)比特币,这个我想排到第一位是币圈所公认的,作为虚拟币的风向标,领头羊。比特币的每一个涨跌都牵动币圈玩家的神经。他已经不再是一个简单的虚拟币币种,更像一个虚拟币界的图腾标志。所

    2025-03-22 14:30:01
    3 0
  • 以太坊首发多少钱,NFT能赚多少钱

    一、NFT能卖多少钱(nft最便宜多少钱)蚂蚁链1.6万张敦煌nft遭疯抢被人炒至一个150万最近这两天,加密货币圈最热的新闻就是蚂蚁链也推出了nft产品,而且受到了市场的热捧,这篇文章就跟大家聊聊这件事。6月23日一早,朋友圈被2款NFT皮肤刷屏了,分别是敦煌飞天和九色鹿皮肤。全

    2025-03-22 09:00:02
    4 0
  • 以太坊挖矿如何提现,以太坊怎么挖矿

    一、以太坊怎么挖矿与所有区块链技术一样,以太坊使用基于激励的安全模型。声称是网络中的矿工的任何节点都可以尝试创建并阻止验证区。世界各地的许多矿工正在同时创建和验证区块。一、以太坊采矿的基本原则1、与所有区块链技术一样,以太坊使用基于激励的安全模型。声称是网

    2025-03-22 01:30:01
    5 0
  • 以太坊怎么生产,以太坊如何挖矿

    一、为什么这么多人现在愿意买虚拟货币呢比如比特币,以太坊因为都想在这个新型金融体系中赚钱。传统经济的市场越来越规范化,赚钱的机会也越来越少。大家对一个投资模型首先要问的是正规不正规,但却没考虑到越是完善的市场赚钱反而越来越难。就像国内股票市场,最正规的市场

    2025-03-21 13:00:01
    8 0
  • 如何查看以太币算力,以太坊显卡挖矿算力及回血排名

    一、区块链余额怎么计算区块链一般概念摘要虽然是个前端开发,但是阻挡不了我八卦各种热门的心。下面简单汇总下一些学习到的概念性东西。1、区块链技术随比特币诞生,因此先了解比特币概念2、比特币是什么(1)、基于分布式网络的数字货币3、比特系统运行原理(1)、所有节点

    2025-03-21 09:00:01
    23 0
  • 如何建立以太坊钱包,怎么注册以太坊钱包

    一、一步一步教你使用以太坊钱包下面开始介绍myetherwallet记住,这个钱包只支持如下几种 ETH、ETC、和符合ERC20协议的token,其他不支持的币不要转进来(转进来会丢失)浏览器打开网站: 在页面右上角选择你喜欢的语言,如下图所示第一步创建钱包输入密码(至少9位)下载key

    2025-03-21 07:30:01
    22 0

发表回复

8206
验证码

评论列表(0条)

    暂无评论

ok交易所
已有100万用户加入ok交易所

立即下载