Michael.W基于Foundry精读Openzeppelin第40期——ERC20Burnable.sol

ERC20Burnable库是ERC20的拓展。该库允许用户销毁自己和给自己授权的人名下的token。

【Java集合】双列集合Map详解,让你快速上手!

Map是一种双列集合,一个元素包含两个值,一个是Key,一个是Value。Map集合中的元素,key和value的数据类型可以相同,也可以不同。一个映射不能包含重复的键;每个键最多只能有一个值。今天我们继续探索Java集合的世界,这次我们要聊的主题是——双列集合Map。首先,让我们来理解一下什么

Michael.W基于Foundry精读Openzeppelin第39期——ERC20.sol

Openzeppelin中的ERC20库只提供了mint接口,而具体的发行逻辑需要开发者在其子合约中使用_mint()自行编写。该库同样遵循了OpenZeppelin的合约设计思路:当函数因产生错误返回false时,直接revert掉。这种设计思路与ERC20的期望标准并不冲突。

  • Michael.W
  • 发布于 2023-12-04
  • 阅读 ( 820 )
  • ( 11 )

从入门到精通:集合工具类Collections全攻略!

Collections 是一个操作Set,List,Map等的集合工具类 它提供了一系列静态的方法对集合元素进行排序、查询和修改等的操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法。

Solidity Gas优化:高效的智能合约策略

文章从比较全面介绍各种优化gas 的方法,如何优化存储、利用退款、数据类型和打包、使用事件、设计函数等。

Solidity 0.8.23 发布

Solidity宣布发布Solidity编译器v0.8.23

  • dwong
  • 发布于 2023-11-24
  • 阅读 ( 762 )
  • ( 58 )

【Java集合】Set集合背后的秘密:为什么它比List接口更严格?

上篇我们介绍了单列集合中常用的list接口,本篇我们来聊聊单列集合中的另外一个重要接口Set集合。1Set介绍java.util.Set接口和java.util.List接口一样,同样实现了Collection接口,它与Collection接口中的方法基本一致,并没有对Collectio

Michael.W基于Foundry精读Openzeppelin第38期——AccessControlEnumerable.sol

AccessControlEnumerable库用于管理函数的调用权限,是AccessControl库的拓展版。与AccessControl库相比,AccessControlEnumerable支持在编成员的迭代导出,这大大方便了各个角色权限的统计查询。

【Java集合】想成为Java编程高手?先来了解一下List集合的特性和常用方法!

通过前面文章的介绍,相信大家对Java集合框架有了简单的理解,接下来说说集合中最常使用的一个集合类的父类,List集合。那么,List到底是什么?它有哪些特性?又该如何使用呢?让我们一起来揭开List的神秘面纱。List,顾名思义,就是列表的意思。在Java中,List是一个接口,它继承了Col

Solidity 编译配置详解

同大多数编程语言一样,用Solidity编写的智能合约无法直接在以太坊虚拟机(EVM)上运行,必须先将其编译成字节码。

【Java集合】数据结构与集合的神秘联系,一文读懂!

上篇文章中我们对单列集合中常用的方法和遍历查询。通过本文章为我们解惑,好好的字符串用起来不就行了,为什么要用集合这些工具类?本篇文章将简要介绍数据结构,让读者了解它们在计算机中以何种结构方式存在。那么,什么是数据结构呢?下面我们来详细解释。

Solidity开发者应掌握的十个智能合约

Solidity开发者应掌握的十个智能合约: ERC-20 合约,ERC-721 合约,简单拍卖合约,众筹合约,托管合约,多签钱包合约,投票合约,域名注册合约,预测市场合约,游戏合约

【Java集合】单列集合Collection常用方法详解

在上篇文章中,我们简单介绍了下java集合家族中的成员,在本篇文章中,我们来看看java在单列集合中,为我们提供的一些方法,以及单列集合的常用遍历玩法,一起来进入学习吧。在java基础中我们也学过,在类实现接口后,该类就会将接口中的抽象方法继承过来,此时该类需要重写该抽象方法,完成具体的逻

【Java集合】了解集合的框架体系结构及常用实现类

前言通过Java基础的学习,我们掌握了主要的Java语言基本的语法,同时了解学习了Java语言的核心-面向对象编程思想。从集合框架开始,也就是进入了java这些基础知识及面向对象思想进入实际应用编码的过程,通过jdk中集合这部分代码的阅读学习,就能发现这一点。

OpenZeppelin Contracts 5.0 版本发布

OpenZeppelin Contracts 5.0 版本:更好的 Gas 效率,更优的代码结构。

Remix v0.36.0 更新日志

in  Remix IDE

Remix编辑器和Solidity编译器已集成AI 更多的“快速修复” Ephemery和SKALEChaos测试网添加到了部署&运行界面 国内镜像站已同步更新 -- ide.remix-project.cn

  • RemixCC
  • 发布于 2023-10-06
  • 阅读 ( 866 )
  • ( 2 )

Michael.W基于Foundry精读Openzeppelin第37期——AccessControl.sol

AccessControl库用于管理函数的调用权限,所有继承了AccessControl的子合约均可为自己的业务函数设置调用权限。AccessControl是一个轻量级的基础库且各个role不支持在编成员的迭代导出,所以授权和撤销role成员的操作会抛出event。

Michael.W基于Foundry精读Openzeppelin第36期——Ownable2Step.sol

Ownable2Step库是Ownable库的拓展版本。其提供的访问权限机制同Ownable完全一致,只是owner的更换机制从由原owner直接指定(一次交互)变成原owner指定 + 新owner确认(两次交互)。Ownable2Step库具有Ownable库所有的功能函数。

用vim写solidity

用vim写solidity

  • 晓道
  • 发布于 2023-09-19
  • 阅读 ( 904 )
  • ( 12 )

Michael.W基于Foundry精读Openzeppelin第35期——Ownable.sol

Ownable库提供了一种基本的访问控制机制——设置一个owner具有对某些函数特殊的访问权限。通常owner就是本合约的deployer。合约部署后可通过函数transferOwnership()进行owner的修改。本库还提供了modifier onlyOwner,用于为函数限定访问权限。