AccessControl库用于管理函数的调用权限,所有继承了AccessControl的子合约均可为自己的业务函数设置调用权限。AccessControl是一个轻量级的基础库且各个role不支持在编成员的迭代导出,所以授权和撤销role成员的操作会抛出event。
Ownable2Step库是Ownable库的拓展版本。其提供的访问权限机制同Ownable完全一致,只是owner的更换机制从由原owner直接指定(一次交互)变成原owner指定 + 新owner确认(两次交互)。Ownable2Step库具有Ownable库所有的功能函数。
在Web3链上数据常见的分析中,往往会有有大量判定合约类型的需求,本文将从相关的标准以及工程实践上,来对合约进行是否属于ERC20/ERC721/ERC1155几个合约的判定。
Friend.Tech210行代码,实现了7,221ETH的协议收入,协议沉淀22,734ETH,定义了价格曲线S^2/16000算法,感觉开创了一个新纪元。现在我把UML图整理处理,大家可以学习研究下。
用vim写solidity
Ownable库提供了一种基本的访问控制机制——设置一个owner具有对某些函数特殊的访问权限。通常owner就是本合约的deployer。合约部署后可通过函数transferOwnership()进行owner的修改。本库还提供了modifier onlyOwner,用于为函数限定访问权限。
本手册涵盖了合约部署、跨合约调用、设计模式、Calldata优化、汇编技巧、编译器等等各个方面的优化技巧!不管你是新手还是老手,这本手册都能给你带来惊喜和启发!
MerkleProof库提供了用于验证merkle树proof的工具函数。在生成merkle树和对应proof时应当避免使用64字节长度的leaf(进行hash之前)或避免使用非keccak256的哈希函数(进行leaf的hash计算)。这是因为树中经排序的内部节点的拼接可以被重新解释为leaf值。
合约里的数值通常非常大, 肉眼阅读非常费劲,solpretty 可以让对数字进行漂亮的格式化。
探索Solidity编译管道、优化假设,以及它们如何与内存安全汇编相关。
jq在区块链开发中的使用
本文将和大家一起讨论链上数据同步解决方案 - Kafka 的实际使用和优势,Kafka 能够根据区块链上数据的位移来跟踪消费状态和保证消息的顺序,同时使用分布式日志存储来持久化消息。
本文章主要讲述了如何在 Solidity 中使用 zk-SNARKs,以及如何使用 ZoKrates 编译器来生成证明和验证合约。
sol2uml是一款用于Solidity智能合约可视化的工具。支持从命令行界面生成合约存储图和合约类图(UML)等
solidity storage layout
在hardhat中加入hardhat.config.js中加入如下代码即可。出处https://github.com/lxdao-official/gclx-contracts/issues/2const{setGlobalDispatcher,ProxyAgent}=require("u
EIP-712是一个专门用于对结构化数据求hash值以及签名的标准,大大解决了数据“链下签名+链上验证”的问题并提高了链上消息签名的可用性。EIP712合约提供了EIP 712 domain separator的定义与获取——是结构化数据完整编码的一部分。
SignatureChecker库是一个用于链上签名验证的helper库。该库提供的验签函数既支持EOA账户地址的签名验证也支持IERC1271标准合约地址的签名验证。
在查看Foundry官方文档时发现其安装步骤描述并不详细,起初跟着安装问题迟迟无法解决,故记录下此详细安装过程,且选择的是最快捷最不占硬盘空间方式的下载方式官方文档给出的下载步骤
你是否知道大端小端的概念,其定义了是高位数据先保存还是地位数据先保存,EVM 是用 大端格式存储数据,我们知道 EVM 使用 32 字节的字来处理数据,当数据不足 32 个字节时,如何填充数据呢?bytes 有哪些操作详见本文。
扫一扫 - 使用登链小程序
107 篇文章,289 学分
3 篇文章,269 学分
55 篇文章,237 学分
13 篇文章,206 学分
16 篇文章,163 学分