Aderyn's Language Server通过实时安全诊断和最佳编码实践提升了Solidity开发者的体验。其最新版本0.3.0引入了基于Language Server Protocol (LSP)的功能,简化了代码检查流程,支持多种编辑器并提供实时反馈。文章详细介绍了LSP的工作原理、技术实现以及未来的扩展计划。
这篇文章介绍了Giveth项目及其MiniMe代币,这是一个开源的捐赠平台和ERC20代币的克隆版本。MiniMe代币允许在不中断原始代币的情况下,方便地为代币持有者增加新功能。文章详细阐述了MiniMe代币的许多应用案例和其核心功能,提供了丰富的代码示例与文档,适合Solidity开发者学习。
本文深入介绍了Kakarot与Ethereum的不同之处,包括操作码、预编译支持及合约开发示例,适合具备Solidity编程经验的开发者。文章通过细致的比较和实例,展示了Kakarot的功能和使用方式。
可变长度的数据,ABI 采用了一种指针和数据分离的方式进行编码。
本文介绍了五个免费的Solidity智能合约开发课程,适合不同级别的学习者。每个课程都提供了详细的主题和内容,帮助开发者入门和深入探索区块链技术。
这篇文章详细阐述了Web3安全审计员的职业路径与必要技能,为没有编码背景的读者提供了入门的 roadmap。文章强调了Web3安全的重要性、可观的收入潜力以及如何通过逐步学习与实践来实现这一职业目标。通过各种学习资源和实践机会,读者可逐步掌握必要的技能,迈向成功的Web3审计师之路。
本指南详细阐述了如何使用Foundry框架进行Solidity智能合约的模糊测试(fuzz testing)。文章首先介绍了什么是不变性(invariant),然后分别讲解了无状态和有状态的模糊测试的实现,并通过代码示例展示了相关实现步骤。最后强调了模糊测试在保证智能合约安全性方面的重要性。
本文提供了十二个关于Solidity智能合约的gas优化技巧,旨在帮助开发者在Layer 2链如Base上降低交易费用。技巧包括最小化链上数据、使用映射代替数组、利用常量和不可变量等,旨在有效提高合约的执行效率和降低成本。
本指南介绍了11种高级的Solidity gas优化技巧,强调优化智能合约的gas成本能够显著提升协议的可扩展性和用户体验。通过减少链上数据、使用映射而非数组、利用常量和不可变变量等方法,开发者可以实现高达90%的gas节省。这些优化策略不仅能降低成本,还能提升合约的安全性。
本文收集了10个常见的Solidity面试问题,旨在帮助求职者准备Solidity技术面试。这些问题不仅适合潜在的Solidity开发者自我测试,也可供招聘经理用以评估应聘者的技能水平。每个问题都提供了示例答案和简要解释,以帮助读者理解其重要性。
本文探讨了如何利用以太坊的 ecrecover 函数验证 Schnorr 签名。通过将 Schnorr 签名的验证过程与 ecrecover 的处理相结合,提供了一种低成本的签名验证方法,并提供了具体的 Solidity 实现代码。文中还引用了 Chainlink 的相关实现与安全性的注意事项。
ecrecover
本篇文章是关于可升级智能合约的系列文章中的第二篇,深入探讨了Solidity的数据存储方法及使用代理合约的潜在问题。文章重点讲解了以太坊虚拟机(EVM)的存储模型,以及如何避免不同版本智能合约之间存储布局的碰撞,提供了一些最佳实践和解决方案,具有较高的技术深度和实用价值。
本文详细介绍了EVM中的delegatecall操作码,解释了其工作原理、使用场景及潜在问题,并提供了多个代码示例帮助理解。
本文详细介绍了如何使用Noir构建一个去中心化的投票系统,涵盖了零知识证明的关键组成部分和使用库的示例代码。文章结构清晰,包括技术实现的步骤、加密原语的使用、以及对数据源接口(预言机)的介绍,展示了如何保证投票的匿名性和安全性。通过详细的代码示例和分步讲解,本教程适合希望深入掌握区块链隐私技术的开发者。
《代理模式与 Delegatecall 书籍》深入探讨了 Solidity 开发中的代理模式及其背后的原理,针对开发者和审计师的需求,系统性地呈现了有关 EVM 及 Solidity 编译器的知识。这本书清晰地组织了多个章节,从存储槽、ABI 编码到代理模式的不同实现,提供了丰富的有用信息,是希望深入了解这一复杂主题的开发者的重要资源。