当一个稳固的契约包含一个以// dev:开头的评论时,在恢复或要求语句之后,这意味着什么?
例如:
contract Example {
function greet(){
revert(); // dev: Hello World
}
}发布于 2020-06-14 09:58:56
这被称为开发人员还原注释。来自布朗尼文件:
每个还原字符串都会为您的合同部署成本增加至少20000个气体,并增加一个函数执行的成本。为每个
require和revert语句都包含一个还原字符串通常是不切实际的,有时由于块气体限制而不可能实现。因此,Brownie允许您将还原字符串作为源代码注释包括在字节码中,但仍然可以通过TransactionReceipt.revert_msg访问。您可以编写针对特定require或revert语句的测试,而不增加气体成本。
若要编写处理问题中示例的测试,请使用以dev开头的整个还原注释:
import brownie
def test_greet(example):
with brownie.reverts("dev: Hello World"):
example.greet()有关详细信息,请参阅:
披露:我是Brownie的首席开发者。
https://ethereum.stackexchange.com/questions/84259
复制相似问题