当前位置: 首页 > news >正文

solidity0.8.0的应用案例11:透明代理合约

选择器冲突

智能合约中,函数选择器(selector)是函数签名的哈希的前4个字节。例如mint(address account)的选择器为bytes4(keccak256("mint(address)")),也就是0x6a627842. 

由于函数选择器仅有4个字节,范围很小,因此两个不同的函数可能会有相同的选择器,例如下面两个函数:

// 选择器冲突的例子
contract Foo {function burn(uint256) external {}function collate_propagate_storage(bytes16) external {}
}

 两个不同的函数,但是得到了相同的函数选择器。

contract Foo {bytes4 public selector1 = bytes4(keccak256("burn(uint256)"));bytes4 public selector2 = bytes4(keccak256("collate_propagate_storage(bytes16)"));// function burn(uint256) external {}// function collate_propagate_storage(bytes16) external {}
}

48-1.png

 示例中,

http://www.lryc.cn/news/135863.html

相关文章:

  • 最新消息:谷歌将在Chromebook上运用UWB技术,无线通信更上一层
  • php+echarts实现数据可视化实例3
  • ubuntu下安装Sphinx,编译pdf
  • vue2.x项目从0到1(七)之用户权限
  • 上传镜像到阿里云的ACR
  • ahooks.js:一款强大的React Hooks库及其API使用教程(五)
  • MySQL TCL 事务控制
  • 【Ubuntu】从Graylog到Grafana Loki:构建更强大的网络设备管理和监控系统
  • [JavaWeb]【八】web后端开发-Mybatis
  • Flink源码之Checkpoint执行流程
  • 【工具使用】Git的使用
  • 无涯教程-PHP Installation on Windows NT/2000/XP with IIS函数
  • EureKa快速入门
  • Sectigo EV代码签名申请步骤
  • 生信学院|08月25日《SOLIDWORKS PDM帮助企业对设计数据版本的管理应用》
  • vue页面转pdf后分页时文字被横向割裂
  • 数据结构——队列(C语言)
  • WGS84地球坐标系,GCJ02火星坐标系,BD09百度坐标系简介与转换 资料收集
  • 【面试题】前端面试复习6---性能优化
  • 隧道HTTP具备的条件
  • 部署FTP服务(二)
  • 缓存的变更(JVM本地缓存->Redis分布式缓存)
  • springMVC Unix 文件参数变更漏洞修复
  • 【LeetCode】494.目标和
  • KaiwuDB 荣获哈佛商业评论 2023“高能韧性团队奖”
  • 删除ubuntu开始菜单中的图标
  • 信息系统项目管理基础知识学习笔记 - IT 治理基础 - IT治理的驱动因素
  • 8月21-22日上课内容 第一章 MySQL数据库初始
  • 等级查询发布助手
  • 手搭手入门MyBatis-Plus