首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenZeppelin暂停概念、安全概念

OpenZeppelin暂停概念、安全概念
EN

Ethereum用户
提问于 2018-03-18 19:58:58
回答 1查看 350关注 0票数 1

像OpenZeppelin这样的项目是否与使用标准一致性的额外检查有什么不同?如果一个编码器只是在每个函数调用的前面加上类似的布尔检查,那么安全性会降低吗?契约(或多sig选项)的所有者将是唯一能够更改布尔值的人。

如果我遗漏了什么,请解释。我同意,在简单易懂的契约基础上构建所有这些的安全操作系统是个好主意,我只想确定OpenZeppelin操作系统没有做更多的事情。

EN

回答 1

Ethereum用户

回答已采纳

发布于 2018-03-18 22:45:10

你的说法是正确的。除了设计的修饰符有较小的潜在用途外,没有功能上的差别。

在功能上,它们的行为方式与约束相同,即修饰符只能使用发送给函数的参数,并且只能更改约定存储。内联函数调用,也可以在函数内部传递内存变量,并且可以更直接地影响函数的代码逻辑。

修饰符也只能在函数体执行之前或之后一次性执行它的逻辑--作为内联函数调用,可以在函数执行期间的任何点执行。

为了可读性和组织性而存在修饰符。如果许多函数具有相同的执行要求(例如,一个isOwner修饰符),或者重复使用相同的模式,具有相同的准备或清理过程,等等--它提供了一种干净的方法来实现这些需求,而不把函数体弄乱,因此它只能包含该函数特有的内容。

这也使得只看函数的声明/签名就可以很容易地确定一个函数正在实现的模式:

function updateBalance(uint newBal) onlyOwner onlyIfUnpaused {

只要查看函数声明,就可以清楚地告诉您修饰符模式继承的特性:只有所有者才能调用它,而且只有在合同当前未暂停的情况下才能调用。

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

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

复制
相关文章

相似问题

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