在深入理解 Solidity 错误"的第三篇, 探索处理错误,本文将揭晓这问问题的答案:asset 错误会消耗所有 gas 吗? require 提不提供错误字符有什么样的不同?外部调用的错误如何影响当前上下文?如何处理底层调用调用产生的错误?
在运行时错误是最常遇到的情况,你知道 Error
与 Panic
的细微差别吗? 发生 Panic 错误真的会消耗所有的 gas 么,本文揭晓答案。
编写我们的第一个合约。
从第一个 Counter 智能合约看合约代码结构
理解智能合约字节码末尾的元数据
本文从通过钱包发起交易开始,解析钱包如何构建交易数据,如何设定 Gas,如何签名及序列化交易。以及当节点接收到交易后,如何验证、EVM 如何执行对应的 Solidity 字节码,如何退还 GAS 等。
值得所有开发者们仔细阅读。
Decert.me 连载教程 《Solidity开发教程》 -- 工具篇
https://chaintool.tech 给区块链开发者准备工具箱
0xSplits 是一个收入拆分协议,为低 Gas 实现收入拆分提供了很好的实现思路。
Foundry是一个Solidity框架,用于构建、测试、模糊、调试和部署Solidity智能合约,Foundry的优势是以Solidity作为第一公民。
理解账户抽象 3 - 钱包创建
理解账户抽象第二篇,看看如何使用第三方代替自己支付。
通过一人了解 关于Cairo 1.0 新特性和改进的所有信息
Solidity delegatecall (委托调用)是一个低级别的函数,其强大但棘手,如果使用得当,可以帮助我们创建 可扩展
的智能合约,帮助我们修复漏洞,并为现有的智能合约增加新的功能
所有以太坊开发者都清楚以太坊世界的一条铁律:合约一旦发布就无法修改。因此,对于合约的发布基本上都采用一种慎之又慎的态度,期望在发布前可以做到尽善尽美,力争合约能正常运行一万年。可是,智者千虑必有失,合约发布百分百不出问题几乎是不可能任务。
Solidity智能合约有关安全和代码质量标准的建议