Browse all Solidity articles.
7 min read
理解 Certora CVL 中的 Spec File 在上一章中,我们了解到,要使用 Certora Prover 进行形式化验证,我们需要向 Prover 提供以下关键项:智能...
6 min read
形式化验证 Ownable.sol Ownable 是一个提供基于所有者访问控制的抽象合约。当被继承时,它使用修饰符将特定函数限制为仅供所有者调用。它包含三个……
5 min read
在 CVL 中测试 msg.sender 和 msg.value 简介 在本章中,我们将介绍 CVL 中的变量,这使我们能够为依赖于 、 以及……中的其他全局变量的函数制定规则。
5 min read
双条件运算符介绍 双条件运算符使我们能够在布尔值之间断言当且仅当(if-and-only-if)关系。蕴含(Implication)() 表明,如果条件 P 得到满足,那么 Q...
6 min read
形式化验证 Counter 在上一章中,我们学习了形式化验证的理论知识,包括它的概念以及它是如何工作的。在本模块中,我们将超越理论,进一步学习...
10 min read
蕴含运算符简介 蕴含运算符常被用作该语句的替代方案,因为它更加简洁。考虑以下示例:一个接受两个无符号...
8 min read
方法属性简介 简介 在上一章中,我们学习了参数化规则,这些规则使我们能够形式化验证预期成立的属性,无论哪个……
6 min read
形式化验证地址余额 在上一章中,我们介绍了如何在 CVL 中对环境依赖型函数进行推理,重点关注了非 payable 上下文。在这些示例中,访问......
5 min read
溢出与 Mathint 在 CVL 中,该类型表示无界整数,这与 Solidity 的固定大小类型(例如 .)不同。它在执行算术运算时不会发生溢出或下溢,从而允许基于...进行推理
9 min read
CVL 中的条件语句以及对 Solady 和 Solmate 部分代码的形式化验证 简介 某些合约行为(属性)本质上具有条件性,而在 CVL 中使用 if/else 这类结构……
4 min read
形式化验证 Initializable.sol 本文介绍了 Certora 如何对 OpenZeppelin 的 Initializable.sol 合约进行形式化验证。我们假设读者已经熟悉该合约如何……
9 min read
Cairo 中的构造函数 构造函数是在合约部署期间执行的单次调用函数,用于初始化状态变量、执行合约设置任务、进行跨合约交互以及……