https://chaintool.tech 给区块链开发者准备工具箱
文章介绍了突变测试的概念,即通过故意在代码中引入错误来检查测试套件的质量。文章详细举例说明了突变测试的应用,包括如何在Solidity代码中实施,并介绍了自动突变测试工具及其可能的结果。此外,还讨论了突变测试的重要性和局限性,并推荐了一些相关的学习资源。
文章介绍了Solidity中的onlyOwner修饰符及其在智能合约中的应用,特别讨论了Ownable2Step相较于Ownable的安全性改进,包括所有权转移的两步验证机制。
onlyOwner
数字货币是基于区块链技术的最典型的应用。它可以作为一种“资产”,实现货币属性、证券属性和投资属性的组合。因此,必须有一套交易和升值平台——交易所就是这样的平台。交易所平台技术架构主要考虑安全、分布式、易扩展、容错、低延迟、高并发等特点,以及熔断机制、服务注册和发现、消息服务、服务网关、安全认证、内
文章介绍了如何通过创建子合约来测试Solidity中的内部函数,并解释为什么不应将函数改为public或virtual。同时还提到了无法测试private函数的原因,并提供了相关代码示例。
本文深入探讨了Solidity中的uint256最大值的获取方式,包括使用内置类型、数学公式和一些不推荐的hack方法。作者指出,使用type(uint256).max是最干净且安全的做法,并对最大值的大小进行透彻的解释和可视化。具有明确的逻辑和结构,适合Solidity开发者阅读。
type(uint256).max
ChainLink Automation、Gelato Network 和OpenZeppelin Defender 三个自动化合约执行工具对比。
文章详细介绍了 Solidity 事件的工作原理、最佳实践以及如何在以太坊中使用事件来快速检索交易信息。还提供了多个代码示例,解释了如何监听 ERC20 转账事件以及如何过滤特定地址的事件。文章还深入讨论了事件的存储机制、索引参数的选择以及事件的燃气成本。
代理的核心逻辑contractProxy{addresspublicimplement;constructor(addressimpl){implement=impl;}fallback()externalpayab
本文介绍了变异测试在自动化验证中的应用,重点介绍了一种名为Gambit的开源变异生成器,用于针对Solidity语言进行变异,并与Certora Prover集成以验证智能合约的规范。通过生成故障版本程序,Gambit能够评估现有测试套件的有效性,并帮助识别和改进潜在的规范缺陷,从而提高智能合约的安全性和可靠性。
函数选择器冲突在代理模式中,如果方法不加以校验可能会出现安全漏洞.
这两天的区块链研究我的任务是要把大约五万个智能合约的源码编译成字节码的形式,并且提取智能合约中所用到的公开库,过程中遇到了一些困难,当然也是有收获的,所以在这个任务做完之后,写了这篇文章记录一下
0xSplits 是一个收入拆分协议,为低 Gas 实现收入拆分提供了很好的实现思路。
文章讨论了GPT-4在智能合约审计中的局限性,特别是在识别关键漏洞方面的失败。通过实例合约展示了函数中的输入验证缺失,以及GPT-4未能检测到这一漏洞的实验结果,强调了对重要金融代码的审计仍然需要人类专家的参与。
本文深入探讨了Solidity中的ABI编码机制,详细解释了函数选择器和参数编码的原理,特别是静态类型和动态类型的编码方式,并通过一个实际的调用数据解析示例展示了如何手动解码ABI编码的数据。
Foundry是一个Solidity框架,用于构建、测试、模糊、调试和部署Solidity智能合约,Foundry的优势是以Solidity作为第一公民。
本文不仅详细解读了如何从合约里读取私钥状态变量的数据,还结合具体场景描述了如何应对需要在合约存取秘密的需求。
通过一个 gas 挑战,理解 Gas 优化技巧。
这是noxx“EVM深入探讨”系列的第五部分,这期我们将从Solidity、EVM和Geth客户端层的工作原理,详细解读CALL和DELEGATECALL这两个操作码。
本文介绍了如何在Foundry环境中使用OpenZeppelin安全地创建和验证ECDSA签名,提供了Verifier.sol合约和测试代码Verifier.t.sol的示例。
扫一扫 - 使用登链小程序
379 篇文章,1038 学分
67 篇文章,503 学分
209 篇文章,390 学分
116 篇文章,363 学分
145 篇文章,319 学分