引入依赖,github可以找到

<dependency><groupId>com.esaulpaugh</groupId><artifactId>headlong</artifactId><version>7.0.0</version>
</dependency>
 private static  String abi = "自行复制合约的abi内容";// 解码交易的入参,合约参数字节码public static Map<String, Object> abiDecodeArgs(String code) {Map<String, Object> map = new HashMap<String, Object>();final List<Function> functions = ABIJSON.parseFunctions(abi);for (Function function : functions) {final boolean equals = function.selectorHex().equals(code.substring(0,8));if (equals){final Tuple objects = function.decodeCall(Strings.decode(code));map.put("name",function.getName());map.put("objects",objects);}}return map;}
// 解码交易的出参,合约结果字节码public static Map<String, Object> abiDecodeResult(byte[] code,String methodSelectorHash) {Map<String, Object> map = new HashMap<String, Object>();final List<Function> functions = ABIJSON.parseFunctions(abi);for (Function function : functions) {final boolean equals = function.selectorHex().equals(methodSelectorHash);if (equals){final Tuple objects = function.decodeReturn(code);objects.toString();map.put("name",function.getName());map.put("objects",objects);}}return map;}

相关RLP编码和kecak256哈希规范请看solidity官方文档,

应用二进制接口(Application Binary Interface(ABI)) 说明 — Solidity develop 文档

类似于以下这样,

关于solidity解析abi方法,入参和结果字节码相关推荐

  1. JVM学习笔记(Ⅰ):Class类文件结构解析(带你读懂Java字节码,这一篇就够了)

    JVM学习笔记(Ⅰ):Class类文件结构解析,带你读懂Java字节码 前言:本文属于博主个人的学习笔记,博主也是小白.如果有不对的地方希望各位帮忙指出.本文主要还是我的学习总结,因为网上的一些知识分 ...

  2. 【JVM源码解析】模板解释器解释执行Java字节码指令(上)

    本文由HeapDump性能社区首席讲师鸠摩(马智)授权整理发布 第17章-x86-64寄存器 不同的CPU都能够解释的机器语言的体系称为指令集架构(ISA,Instruction Set Archit ...

  3. 使用get方法传参报400状态码解决办法

    前言:网上查了很多方法,比如给server.xml文件添加属性代码,还有给catalina.properties文件末尾添加代码,测试之后还是没用(泪奔~~~),好了,下面我们直奔主题. 报错原因 当 ...

  4. aop 获取方法入参出参_ASM字节码编程 | JavaAgent+ASM字节码插桩采集方法名称及入参和出参结果并记录方法耗时...

    作者:小傅哥 博客:bugstack.cn ❝ 沉淀.分享.成长,让自己和他人都能有所收获! ❞ 一.前言 在我们实际的业务开发到上线的过程中,中间都会经过测试.那么怎么来保证测试质量呢?比如:提交了 ...

  5. ASM字节码编程 | JavaAgent+ASM字节码插桩采集方法名称以及入参和出参结果并记录方法耗时

    作者:小傅哥 博客:bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 在我们实际的业务开发到上线的过程中,中间都会经过测试.那么怎么来保证测试质量呢?比如:提交了多少代码 ...

  6. java入参为方法_Java命令注入原理结合Java Instrument技术(FreeBuf首发)

    一.前言 命令注入:恶意用户构造恶意请求,对一些执行系统命令的功能点进行构造注入,从而达到执行命令的效果. 二.演示环境搭建 这里采用springboot+swagger搭建一个模拟的web环境:启动 ...

  7. Java的 Class字节码文件结构和内容全面解析【两万字】

    了解Class文件的结构组成,对于我们后续的JVM以及Java原理深入学习是很有帮助的,因为Class文件帮我们默默的做了很多事,比如.为什么对象方法中可以直接使用this变量?!本文将带领大家,一步 ...

  8. JVM与字节码——2进制流字节码解析

    为什么80%的码农都做不了架构师?>>>    字节码解析 结构 本位将详细介绍字节码的2进制结构和JVM解析2进制流的规范.规范对字节码有非常严格的结构要求,其结构可以用一个JSO ...

  9. javap命令解析字节码

    1.javap命令是什么? 可以通过javap命令看到java程序在执行过程中,每一句代码真正地做了什么,包括cpu的指令和jvm具体做了什么,可以在发生一些错误或者奇怪的事情的时候,知道为什么会这样 ...

最新文章

  1. vivo分屏_vivo分屏+Jovi语音助手!让你找到解题新思路
  2. css float(脱离正常流:向左/右浮动直到父元素/另一float, 不占空间)
  3. 快速查询ABAP transport request lock status
  4. vuerouter传参方式_VUE Router学习原理(一)
  5. php 验证码一直不对,ThinkPHP验证码老是出错怎么办
  6. 看完微信抢红包算法你就明白,为啥你不是手气最佳
  7. 【Antlr】识别常见的词法结构
  8. mysql 逆序排序_将一组乱序的字符进行排序进行升序和逆序输出
  9. python异常数据处理_python中如何处理异常值
  10. iOS 25个性能优化/内存优化常用方法
  11. LLBLGen Pro v4.2_Patch+Keygen
  12. 【读书笔记】终极算法
  13. 崩溃!因对领导不满前网管离职后远程入侵服务器,致诊疗系统瘫痪!
  14. 很多IT从业者感觉到中国程序员前景一片灰暗,事实是如此吗?
  15. 【FineReport】常用快捷键
  16. ae合成设置快捷键_超全AE快捷键大全
  17. 10块钱闯荡深圳,如今身价935亿,超越李彦宏,他竟如此低调……
  18. android+添加网络权限,已在AndroidManifest.xml增添网络权限,运行还报错
  19. 用计算机弹c哩c哩数字,C哩C哩 - 在线打字测试(dazi.kukuw.com)
  20. 计算机网络学习(一) 计算机网络概述

热门文章

  1. PLSql连接oracle64位
  2. Win10一周年更新正式版安装方法大全
  3. mysql导出excel 科学计数法_mysql导出长数字到excel避免显示为科学记数法 解决方法...
  4. vue3项目源码汇集
  5. phpstudy安装php8.0和php8.1的方法(内含VC运行库)
  6. 3、SYN-SENT
  7. System.out.println()的使用
  8. 前端岗位一般的任职要求
  9. 炒币碰到熊市的应对方法,炒币者的八大口诀
  10. h5调用支付宝 php支付源码,友价源码如何集成支付宝H5接口(即支付宝手机支付接口)...