首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘//dev:’revert或revert语句后的注释的目的是什么?

‘//dev:’revert或revert语句后的注释的目的是什么?
EN

Ethereum用户
提问于 2020-06-14 09:58:56
回答 1查看 246关注 0票数 3

当一个稳固的契约包含一个以// dev:开头的评论时,在恢复或要求语句之后,这意味着什么?

例如:

代码语言:javascript
复制
contract Example {
    function greet(){
        revert(); // dev: Hello World        
    }
}
EN

回答 1

Ethereum用户

回答已采纳

发布于 2020-06-14 09:58:56

这被称为开发人员还原注释。来自布朗尼文件

每个还原字符串都会为您的合同部署成本增加至少20000个气体,并增加一个函数执行的成本。为每个requirerevert语句都包含一个还原字符串通常是不切实际的,有时由于块气体限制而不可能实现。因此,Brownie允许您将还原字符串作为源代码注释包括在字节码中,但仍然可以通过TransactionReceipt.revert_msg访问。您可以编写针对特定requirerevert语句的测试,而不增加气体成本。

若要编写处理问题中示例的测试,请使用以dev开头的整个还原注释:

代码语言:javascript
复制
import brownie

def test_greet(example):
    with brownie.reverts("dev: Hello World"):
         example.greet()

有关详细信息,请参阅:

披露:我是Brownie的首席开发者。

票数 3
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/84259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档