Ethernaut 题库闯关追更, 挑战 AlienCodex 合约, 通过本挑战,我们将更深刻的理解 Solidity 的数据存储,以及如何通过写数组达到写插槽的效果。
Solidity 开发基础: 使用Remix、数据类型(整型、地址、合约、数组、结构体、映射)介绍;函数修改器、事件、错误处理、库的使用。
Solidity 的try/catch 语法和常见的语言中的表现不一样,try { } 块中的代码错误是无法被catch 的,这一点要小心要非常小心。
在深入理解 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 新特性和改进的所有信息