OpenZeppelin Contracts 5.0 版本:更好的 Gas 效率,更优的代码结构。
本手册涵盖了合约部署、跨合约调用、设计模式、Calldata优化、汇编技巧、编译器等等各个方面的优化技巧!不管你是新手还是老手,这本手册都能给你带来惊喜和启发!
合约里的数值通常非常大, 肉眼阅读非常费劲,solpretty 可以让对数字进行漂亮的格式化。
本文章主要讲述了如何在 Solidity 中使用 zk-SNARKs,以及如何使用 ZoKrates 编译器来生成证明和验证合约。
你是否知道大端小端的概念,其定义了是高位数据先保存还是地位数据先保存,EVM 是用 大端格式存储数据,我们知道 EVM 使用 32 字节的字来处理数据,当数据不足 32 个字节时,如何填充数据呢?bytes 有哪些操作详见本文。
Solidity 编码规范推荐标准, 作者列出了 15 条非常使用的规则, 例如:指定固定的编译器版本、导入代码时指定版本, 并使用命名导入,以及变量命名时注意事项。
Chisel是随Foundry提供的高级SolidityREPL(交互式命令工具)。它可用于在本地或Fork网络上快速测试Solidity片段。
Ethernaut 题库闯关追更, 挑战 AlienCodex 合约, 通过本挑战,我们将更深刻的理解 Solidity 的数据存储,以及如何通过写数组达到写插槽的效果。
Solidity 开发基础: 使用Remix、数据类型(整型、地址、合约、数组、结构体、映射)介绍;函数修改器、事件、错误处理、库的使用。
Solidity 的try/catch 语法和常见的语言中的表现不一样,try { } 块中的代码错误是无法被catch 的,这一点要小心要非常小心。
在深入理解 Solidity 错误"的第三篇, 探索处理错误,本文将揭晓这问问题的答案:asset 错误会消耗所有 gas 吗? require 提不提供错误字符有什么样的不同?外部调用的错误如何影响当前上下文?如何处理底层调用调用产生的错误?
在运行时错误是最常遇到的情况,你知道 Error 与 Panic 的细微差别吗? 发生 Panic 错误真的会消耗所有的 gas 么,本文揭晓答案。
Error
Panic
深入了解 Solidity 错误第二篇, 了解编译器错误。
深入了解 Solidity 错误第一篇, EVM 中的错误分类。
在这篇文章中,详细说明的事件的日志是如何生成,索引是如何影响日志的生成,字符串等变长数据是如何处理的。同时介绍了在前端如何获取事件。
Yul 入门指南
使用好 NatSpec 注释规范,可以帮助开发者为智能合约创建更有效的文档。
Cicada:一个新的、开源的 Solidity 库,利用时间锁谜题和零知识证明来实现私人链上投票。
编写我们的第一个合约。
从第一个 Counter 智能合约看合约代码结构
扫一扫 - 使用登链小程序
58 篇文章,243 学分
108 篇文章,211 学分
15 篇文章,185 学分
17 篇文章,162 学分
58 篇文章,154 学分