本指南介绍了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 编码到代理模式的不同实现,提供了丰富的有用信息,是希望深入了解这一复杂主题的开发者的重要资源。
本文将介绍两种常见转账的实现方式,以及它们在 Yul 中的对应写法和 gas 费用的比较。
本文深入探讨了智能合约安全审计中的自动化工具,包括其功能、使用方法以及在实际合约中应用的经验。通过分析工具的有效性和面临的挑战,文章指出审计中高层逻辑错误通常是严重问题,同时介绍了代码效率和Gas费用在智能合约中的重要性。通过一系列的分析,目标是帮助开发人员快速识别和修复常见漏洞,从而提升合约的安全性。
本文详细介绍了以太坊提案EIP-1153中的瞬时存储概念,该提案引入了一种临时数据存储机制以优化智能合约的效率和安全性。瞬时存储是一种短期存储方式,仅在交易期间有效,通过新引入的TLOAD和TSTORE操作码降低存储成本并解决现有存储系统的局限性。文章还探讨了使用案例、潜在的安全考虑以及EIP-1153的影响。
本文介绍了Slither静态分析工具,包括其安装方法、功能特性及如何使用该工具进行Solidity智能合约的分析。作者演示了如何通过Slither检测合约中的潜在漏洞,并讨论了工具在CI环境中的适用性,强调了静态分析的优缺点。值得注意的是,文章提供了详细的代码示例和操作步骤,适合软件开发者和区块链初学者阅读。
这篇文章详细介绍了以太坊智能合约的创建成本,包括影响成本的多个因素以及每个步骤的燃气费用计算。作者提供了示例代码和详细的计算过程,使读者能够清楚理解不同组成部分对整体成本的影响。最后,文章还解释了如何将燃气费用转换为美元,实用性很强。
本文详细介绍了如何在以太坊上构建一个去中心化的URL缩短应用程序(dApp),包括必要的准备工作、智能合约的编写与解析、前端开发以及后端服务器的设置。文章不仅提供了完整的步骤和代码示例,还强调了去中心化应用在数据安全性和抗审查方面的优势,适合希望深入了解以太坊dApp开发的开发者。
EVM对象格式(EOF)是一项期待已久的EVM升级,旨在现代化以太坊语言和工具生态。本文详细论述了EOF在开发工具、编译器、语言及应用程序等方面的优势,强调其对提高可用性和改善用户体验的重要性。相较于其他提案,EOF提供了一种清晰且结构化的方法来解决当前EVM中的多项问题。
让我们来看一下如何使用 Yul 编写一个合约,并使其能够接受外部调用。