针对智能合约开发语言,本文主要针对 Solidity, Rust 和 Move
ERC721Enumerable 用来实现特定地址拥有的所有代币
2024 年如何学习 Solidity
1.ERC20简介ERC20是以太坊区块链创建的可替代的技术标准,可替代代币是可以与另一种代币进行交换的代币,故此ERC20代币是一种同质化代币。ERC20协议更像是一种规范,规范了在智能合约中实施代币的标准API,使得代币具有基本的转账功能,以便其他链上第三方可以使用。ERC20接口
在我们进行合约开发时有一个痛点是,升级部署到链上后不能再更改,但如果了解Solidity比较深的小伙伴就知道,Solidity有个delegate方法,可以实现通过代理合约调用逻辑合约,我们的数据存储在代理合约中,执行的逻辑在逻辑合约中,我们想要升级合约时只需要部署新的逻辑合约即可。
分享一个质押提款的项目合约,该项目是一个质押代币获取奖券,并参与游戏的一个项目,这里我们只分析合约部分。开发工具:Foundry:一个智能合约开发工具链,学习文档vscode:编辑合约代码合约解析:以下几个合约配合形成整个项目的合约逻辑,下面逐个对合约进行解析主合约
为了看的清晰,本文先利用画图和数据分析整个事件的攻击原理和流程,然后再去写POC。
学习使用模糊测试(Fuzz Test)及不变性测试( Invariant Test)提高合约安全性。
Solidity 0.8.22 发布, 改进点包含:文件级事件定义、unchecked
循环增量优化、支持导入 EVM 汇编 JSON 等等。
本文章主要讲述了如何在 Solidity 中使用 zk-SNARKs,以及如何使用 ZoKrates 编译器来生成证明和验证合约。
了解一个经典的智能合约漏洞 —— 签名重放。
了解一个非常常见的攻击手法 —— 抢跑。
在这篇文章中,详细说明的事件的日志是如何生成,索引是如何影响日志的生成,字符串等变长数据是如何处理的。同时介绍了在前端如何获取事件。
Yul 入门指南
使用好 NatSpec 注释规范,可以帮助开发者为智能合约创建更有效的文档。
理清账户抽象的关键概念, 以及为什么 ERC-4337 很重要