这篇文章通过一个实际案例研究了如何通过重构优化 Solidity 代码来实现气体节省,展示了在一个杠杆收益农场协议 Yieldoor 中,通过改进核心函数 Leverager::liquidatePosition 实现了 15.43% 的气体节约。作者详细描述了测量Gas成本的方法和重构过程,包括减少冗余存储读取、使用结构体缓存、以及启用优化器以提高代码效率。
Leverager::liquidatePosition
使用好 NatSpec 注释规范,可以帮助开发者为智能合约创建更有效的文档。
代码示例
本文详细介绍了如何在Solidity中实现和测试智能合约的不变性,通过定义有效状态、状态转移和变量转移等属性,并使用Echidna、Medusa和Foundry等工具进行模糊测试。文章分为明确的部分,讲解了不变性质的代码实现过程,并提供了丰富的示例和解释,适合对Solidity和智能合约分析有一定了解的开发者阅读。
本文为初学者提供了创建和部署Hello World智能合约的详细教程,涵盖了所需工具、初始化项目、编写合约、配置和部署合约等步骤,帮助读者了解如何在Ropsten测试网上进行智能合约的交互与部署。
本文探讨了在Solidity智能合约中缺失或不当输入验证所可能导致的安全漏洞,强调了适当输入验证的重要性,以及如何通过编写安全代码来降低风险。文章详细介绍了编译时和运行时的输入验证,影响与案例分析,提供最佳实践指导,帮助开发者提高智能合约的安全性。
创建一门新的合约语言,如:Solidity 有什么样的优缺点,相对于使用一门现有的其他语言如: Golang 或 Python?
本文介绍了如何构建一个以太坊智能合约,用于质押以太币以赚取利息。文章详细讲解了合约的设计、编码、部署及测试,包括创建项目、编写合约的关键功能、在私有测试网进行部署和审核交易。最后,用户还可以邀请朋友共同参与测试,协助提升智能合约的功能和性能。
Solidity是一种高阶编程语言,用于在以太坊和许多EVM兼容区块链上编写智能合约。本文深入探讨了Solidity的背景、工作原理以及其关键特性、应用和开发工具,旨在帮助开发者掌握Solidity编程技能,并指出学习资源以支持他们的学习。
解构 Solidity 合约 3:函数包装器
本文介绍了如何使用ERC721A实现批量铸造NFT,包括创建合约、部署合约、批量铸造NFT的详细步骤。读者需要对Solidity和Hardhat有中级知识,并提供了详细的代码示例和注释。文章的结构清晰,加上引用的若干资源链接,适合有关区块链技术的开发者学习。
Starknet是以太坊的二层ZKRollup扩容方案,与兼容EVM的二层扩容方案上的开发不同,Starknet上开发有自己的模式。这篇文章介绍如何开发Starknet上的合约以及如何部署到Starknet测试网上,同时方便Solidity智能开发者快速理解Starknet
本文深入探讨了Solidity智能合约中的REVERT机制,解释了其功能和处理方法,包括require、revert、assert和try/catch的用法。通过实例代码,阐释了这些机制如何确保合约执行的完整性与安全性,并讨论了EVM在处理revert时的响应和行为。文章意在帮助开发者有效调试合约和减少错误风险。
这篇文章提供了一个关于如何在TRON区块链上部署和交互智能合约的全面指南,包括使用Solidity编写合约,使用JavaScript和Tron相关开发工具进行交互。文章详细介绍了所需的环境、依赖项配置、智能合约的逻辑与实现,以及如何通过CLI和脚本与合约进行交互,适合希望深入了解TRON开发的读者。
深入了解 Solidity 错误第二篇, 了解编译器错误。