说在前面的话:Dao治理是个常见的需求,openzeppelin帮我们实现了这个功能。功能一点都不复杂,就是第一次接触会感觉涉及的文件有点多。没关系,多看这篇文章两次就记住了。参考第三部分的代码,就可以实现功能,为了流畅度,一些需要深究的地方,我放在了《补充》这个环节一测试环境fo
在0.8.22版本的更新中,我注意到有一个备受争议的更新,即在循环场景下不再进行溢出检查。接下来,我们将详细讨论一下这个循环不检查溢出
Solidity 0.8.22 发布, 改进点包含:文件级事件定义、unchecked 循环增量优化、支持导入 EVM 汇编 JSON 等等。
unchecked
OpenZeppelin 5.x 发布仅三周,目前网上除了官方之后没有详细的介绍,这篇文章是OpenZeppelin5.x概览,可以帮助读者迅速的了解5.x和4.x的主要区别~
OpenZeppelin Contracts 5.0 版本:更好的 Gas 效率,更优的代码结构。
对于智能合约开发者来说,编写合约测试是非常重要的一项技能。 这里推荐VSCode的一款插件CoverageGutters它可以根据你所生成的 Code Coverage Report 文件
Remix编辑器和Solidity编译器已集成AI 更多的“快速修复” Ephemery和SKALEChaos测试网添加到了部署&运行界面 国内镜像站已同步更新 -- ide.remix-project.cn
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 编译器来生成证明和验证合约。
扫一扫 - 使用登链小程序
41 篇文章,405 学分
75 篇文章,295 学分
30 篇文章,251 学分
11 篇文章,169 学分
158 篇文章,162 学分