以太坊abi在哪里找
⑴ 以太坊的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! 。
所以最终结果是:
⑵ 叶胜超空投打窝系列(004):Arbitrum刷空投教程
为了确保您能有效利用Arbitrum进行空投获取,首先需要配置Arbitrum one网络。访问chainlist.org/,搜索并添加“arbitrum one”网络,将您的ETH链资产转移到Arbitrum主网。使用Arbitrum跨链桥bridge.arbitrum.io/,在以太坊链上将币转至Arbirum网络。若存入ETH,选择并填写数量后点击deposit,建议留至少0.05ETH作为手续费。对于非ETH币种,选择ERC-20,完成添加合约和授权步骤。
在Arbitrum二层网络收到资产后,您可以在Uniswap上进行交互,选择Abi生态项目,如UNI,体验swap功能。Uniswap提供低延迟的丝滑交易体验,我亲自尝试,发现其使用非常流畅,甚至多刷了几次,比optimism更加便捷。为了获得奖励,尝试在UNI上提供流动性,添加新仓位后授权操作即可。若需去除流动性,只需切换到流动性部分,找到并移除仓位。
将Arbitrum上的币提现至以太坊链。官方跨链桥需7天时间,建议提前规划。使用小狐狸保持在Arbitrum网络,打开跨链桥完成提现,之后7天后可返回页面claim。若希望更快提现,可选择其他跨链桥,如cBridge跨链桥cbridge.celer.network/,先在UNI将ETH转换为WETH,然后跨链到以太坊链。
请注意,Abitrum是V神推荐的二层项目之一,包括Zksync、Optimism、Loopring和deversifi,但Loopring已发行代币。Abitrum以其速度和野心领先。跨链桥涉及以太坊链,使用时需注意gas费和以太坊网络拥堵情况,选择在gas费较低时操作,确保交易在承受范围内,谨慎行事。
文章由叶胜超撰写,如需转载请保留出处。投资需谨慎,行情总在绝望中诞生,在半信半疑中成长,在憧憬中成熟,在希望中毁灭。作者叶胜超,一个终身学习者和践行者,始终坚持5点起床跑步的生活方式。记住,币圈生存法则在于:踏实工作、闲钱投资、底部买入,长线持有,按时吃饭睡觉。谨记这法则,币圈一天,人间十年。
⑶ 如何用myetherwallet 来玩智能合约
在使用myetherwallet操作智能合约时,首先要确保安全。首先要明确合约所在的网络,ropsten、kovan或主网。例如,ropsten.etherscan.io/...是ropsten测试网,kovan.etherscan.io/...是kovan测试网,而没有前缀的则是主网,如etherscan.io/address/0x...。
获取合约地址非常简单,如合约示例地址为。ABI(合约接口描述符)同样在合约详情页中找到,复制其内容。如果找不到,说明合约是私有或未开源的。
打开myetherwallet时,选择适合当前网络的选项,比如ropsten环境下的batchTransfer。输入参数,gaslimit会自动计算,确保所有信息正确无误后提交。例如,一次交易可能消耗大量以太坊,如6,447,277,680人民币的gas limit。提交后,交易详情可在ropsten.etherscan.io/tx/...查看。