/*可见性修饰符:publicexternalinternalprivatepublic:作用域:状态变量、函数状态变量:可以在合约内外被读取,自动生成一个公共的getter函数。函数:可以从合约内外部调用,自
从第一个 Counter 智能合约看合约代码结构
理解智能合约字节码末尾的元数据
ABIEncoder介绍ABIEncoder应用ABIEncoderV2和ABIEncoderV1的区别1.ABIEncoder介绍ABIEncodeV2和V1是对整个合约的编译检查和更丰富的编译功能,跟abi.encode/decode无关。2.ABIEncoder应用So
Solidity - 回购销毁合约实现
本文从通过钱包发起交易开始,解析钱包如何构建交易数据,如何设定 Gas,如何签名及序列化交易。以及当节点接收到交易后,如何验证、EVM 如何执行对应的 Solidity 字节码,如何退还 GAS 等。
值得所有开发者们仔细阅读。
这篇文章讨论了如何在自动化验证的背景下应用突变测试,介绍了一个名为Gambit的开源突变生成器,该工具用于增强Solidity智能合约的测试,并与Certora Prover工具集成。文章深入探讨了突变测试在提高正式规范质量和识别安全漏洞方面的重要性,并提供了视觉化结果的相关信息,展示了突变检测的效果和改进方向。
Decert.me 连载教程 《Solidity开发教程》 -- 工具篇
DappReader是一款集成管理智能合约,快速团队联调工具,现已开源
Chaintool ABI可视化调用工具(英文称为ABICaller)会自动根据ABI生成可调用按钮, 极大方便智能合约开发者。
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能够评估现有测试套件的有效性,并帮助识别和改进潜在的规范缺陷,从而提高智能合约的安全性和可靠性。
扫一扫 - 使用登链小程序
116 篇文章,450 学分
406 篇文章,424 学分
171 篇文章,332 学分
36 篇文章,280 学分
121 篇文章,276 学分