计算合约方法的签名

计算合约方法的签名

通过智能合约实现

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;contract FunctionSelector {/*"transfer(address,uint256)"0xa9059cbb"transferFrom(address,address,uint256)"0x23b872dd*/function getSelector(string calldata _func)externalpurereturns (bytes4){return bytes4(keccak256(bytes(_func)));}
}

部署合约,然后传入对应方法的签名,执行getSelector,就可以获得输出。

通过web3j实现

@Test
public void buildErc20MethodId_transferFrom(){String from = "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4";String to = "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4";BigDecimal amount = BigDecimal.TEN;// 构建方法调用信息 transferFrom(address,address,uint256)String method = "transferFrom";// 构建输入参数List<Type> inputArgs = new ArrayList<>();inputArgs.add(new Address(from));inputArgs.add(new Address(to));inputArgs.add(new Uint256(Convert.toWei(amount, Convert.Unit.WEI).toBigInteger()));// 合约返回值容器List<TypeReference<?>> outputArgs = new ArrayList<>();String funcABI = FunctionEncoder.encode(new Function(method, inputArgs, outputArgs));System.out.println(funcABI);Assert.assertEquals("0x23b872dd", funcABI.substring(0, 10));}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1882.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Ant-Dseign-Pro如何去国际化及删除oneapi.json后出现程序直接结束问题的解决方案

作者&#xff1a;CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境&#xff1a;WebStorm 移除国际化 什么是国际化 在AntDesignPro当中&#xff0c;国际化就是如果你初始默认使用中文&#xff0c;想要切换英文&#xff0c;我们可以切换到英文模式。同时&#x…

太速科技-9-基于DSP TMS320C6678+FPGA XC7V690T的6U VPX信号处理卡

基于DSP TMS320C6678FPGA XC7V690T的6U VPX信号处理卡 一、概述 本板卡基于标准6U VPX 架构&#xff0c;为通用高性能信号处理平台&#xff0c;系我公司自主研发。板卡采用一片TI DSP TMS320C6678和一片Xilinx公司Virtex 7系列的FPGA XC7V690T-2FFG1761I作为主处理器&#…

Mysql当中的各种log

一、MySQL日志文件类型 重做日志&#xff08;redo log&#xff09;回滚日志&#xff08;undo log&#xff09;二进制日志&#xff08;binlog&#xff09;错误日志&#xff08;errorlog&#xff09;慢查询日志&#xff08;slow query log&#xff09;一般查询日志&#xff08;g…

自定义规则配置教程

大家在使用waf的时候&#xff0c;因为业务特殊性和waf的严格校验&#xff0c;有时会产生误报&#xff0c;阻拦合法流量。 这个时候&#xff0c;只能通过自定义规则进行补充&#xff0c;选择加白名单或者黑名单。 很多人会说配置黑白名单失效了&#xff0c;其实95%以上都是自己…

Java项目:图书管理系统(有源代码)

Java项目&#xff1a;图书管理系统&#xff08;有源代码&#xff09; 直接上项目实现效果&#xff0c;文末有源码获取方式 一、技术选型 • Spring Boot、Vue、MySQL、Redis 二、功能说明 用户功能 图书查询功能 读者规则功能 查看公告 个人信息 借阅信息 违章信息 读者留言…

鸿蒙生态崛起:开发者机遇、挑战与未来展望

背景 鸿蒙系统不断发展&#xff0c;有与安卓、iOS 形成三足鼎立之势&#xff0c;且其在智能手机、智能穿戴、车载、家居等行业领域的应用越来越广泛。作为开发者&#xff0c;如何抓住鸿蒙生态崛起的机遇&#xff0c;解决开发挑战&#xff0c;创造更好的应用体验&#xff1f;欢…

MYSQL复合查询

当我们要查询的数据要使用的限制条件不是很简单的时候&#xff0c;可能要在一个限制条件下再次限制&#xff0c;比如要查找小美所在公司的平均薪资&#xff0c;就要先找到小美的公司&#xff0c;再求平均薪资。复合查询分三种&#xff0c;多表连接查询、子句查询和合并查询。 …

【论文阅读笔记】VLP: A Survey on Vision-language Pre-training

目录 前言2 特征提取&#xff08;Feature extraction&#xff09;2.1.1 图象特征提取OD-based Region feature / RoIFreeze the pre-trained object detectorsGrid features&#xff08;网格特征&#xff09;CNN-GFsEnd-to-End Training&#xff08;端到端训练&#xff09;ViT-…

U盘插入电脑不显示?别急,这里有解决方案!

随着科技的飞速发展&#xff0c;U盘已成为我们日常生活和工作中不可或缺的数据存储工具。然而&#xff0c;你是否遇到过这样的情况&#xff1a;满心欢喜地将U盘插入电脑&#xff0c;却发现电脑竟然“视而不见”&#xff0c;U盘图标迟迟不出现&#xff1f;别急&#xff0c;这种情…

如何使用Web-Check和cpolar实现安全的远程网站监测与管理

文章目录 前言1.关于Web-Check2.功能特点3.安装Docker4.创建并启动Web-Check容器5.本地访问测试6.公网远程访问本地Web-Check7.内网穿透工具安装8.创建远程连接公网地址9.使用固定公网地址远程访问 前言 本期给大家分享一个网站检测工具Web-Check&#xff0c;能帮你全面了解网…

【第一个qt项目的实现和介绍以及程序分析】【正点原子】嵌入式Qt5 C++开发视频

qt项目的实现和介绍 1.第一个qt项目  &#xff08;1).创建qt工程    [1].创建一个存放qt的目录    [2].新建一个qt工程    [3].编译第一个工程    发生错误时的解决方式 二.QT文件介绍  (1).工程中文件简单介绍  (2).项目文件代码流程介绍    [1].添…

【Linux】命令行参数 | 环境变量

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;青果大战linux 总有光环在陨落&#xff0c;总有新星在闪烁 前几天在搞硬件&…

【数据结构与算法】第7课—数据结构之队列

文章目录 1. 队列1.1 什么是队列1.2 队列的结构1.3 队列初始化1.4 队列入栈1.5 出队列1.6 查找队列有效元素个数1.7 取队头和队尾数据1.8 销毁链表 2. 用两个队列实现栈3. 用两个栈实现队列4. 循环队列 1. 队列 注&#xff1a;文中Queue是队列&#xff0c;Quene是错误写法 1.1 …

数据结构 ——— 向上/向下调整算法将数组调整为升/降序

目录 向上调整算法&#xff08;默认小堆&#xff09; 向下调整算法&#xff08;默认小堆&#xff09; 利用向上调整算法对现有数组直接建堆 利用向下调整算法对以建成的小堆数组排降序 举一反三&#xff1a; 那么如何将数组 a 排成升序呢&#xff1f; 向上调整算法&…

一种基于GPU的归并排序并行实现

0️⃣归并排序流程 分割过程&#xff1a;将待排序数组等分为左右子数组&#xff0c;再对左右子数组递归式等分&#xff0c;直至不可分割合并过程&#xff1a;将所有子数组两两递归合并&#xff0c;逐步得到较大有序数组&#xff0c;直到得到完整有序数组 1️⃣传统的并行归并 …

【MySQL】数据类型

目录 一、常见数据类型汇总 二、数值类型 2.1 tinyint 2.2 bit 2.3 float 2.4 decimal 三、字符串类型 3.1 char 3.2 varchar 四、日期和时间类型 五、枚举和集合 5.1 enum枚举 5.2 set集合 一、常见数据类型汇总 分类数据类型说明数值类型BIT(M)二进制位。M指定…

《探索 HarmonyOS NEXT (5.0):开启构建模块化项目架构奇幻之旅 —— 动态路由 ZRouter:引领高效模块通信的智慧中枢》

ZRouter简介&#xff1a;是一款轻量级的动态路由框架&#xff0c;基于Navigation系统路由表和Hvigor插件实现的方案&#xff0c;可以解决多个业务模块&#xff08;HAR/HSP&#xff09;之间解耦和通信问题&#xff0c;从而实现业务复用和功能扩展。 ZRouter出处ZRouter&#xff…

网络原理(数据链路层)->以太网帧格式解

前言 大家好我是小帅&#xff0c;今天我们来了解以太网帧格式 个人主页 文章目录 1.数据链路层1.1 认识以太⽹1.2 MAC地址&#xff08;⽹卡的硬件地址&#xff09;1.2.1 对⽐理解MAC地址和IP地址 1.3 认识MTU1.4 MTU对IP协议的影响1. 5 MTU对UDP协议的影响1.6 MTU对于TCP协议的…

银行金融知识竞赛活动策划方案

根据《中国人民银行**市中心支行“创新金融服务&#xff0c;支持经济发展”业务竟赛活动实施方案》安排&#xff0c;中支决定于9月28日举办**市人民银行系统“创新金融服务&#xff0c;支持经济发展”现场业务竞赛&#xff0c;为确保业务竞赛组织工作顺利开展&#xff0c;特制定…

渗透测试练习题解析 7 (CTF web)

一、[红明谷CTF 2021]write_shell 1 考点&#xff1a; 1、PHP 短标签 2、 符号的使用 通过代码可知 check 是一个过滤函数&#xff0c;利用正则的方式过滤掉 空格、php、eval 等一些关键字或符号&#xff0c;$dir 是路径&#xff0c;这个值可以通过 actionpwd 获取到&#…