首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谁应该是我的智能合同的新实例的所有者/管理员?

谁应该是我的智能合同的新实例的所有者/管理员?
EN

Ethereum用户
提问于 2018-03-22 20:13:02
回答 2查看 604关注 0票数 0

我正在起草一份投票聪明的合同。我知道我可以给老板安排一份明智的合同。但是我假设“角色”是智能契约的程序员,这样他就可以保持对重要数据结构的控制(例如--防止不适当地删除某些用户或用户资产等)。

我目前的信念是,我会为每一次单独的投票(例如,每一次新的选举等)创建和发布/迁移一个新的投票智能合同,对吗?如果是这样的话,为合同指定管理员的正常最佳做法是什么?该管理员不是智能合同程序员(我自己),而是应该担任当前投票代理管理员的人(即,管理一项特定选票的智能合同的一个特定实例)?当我为新的投票创建新的智能契约实例时,是否应该让它们成为智能契约实例的当前所有者?

EN

回答 2

Ethereum用户

回答已采纳

发布于 2018-03-22 20:39:20

这里有一些问题:

“角色”是智能契约的程序员的角色,这样他就可以保持对重要数据结构的控制。

听起来并不轻率,但所有者(角色)将取决于合同是如何执行的。

在本例中(从solidity中),所有者被称为“主席”,是创建契约的地址。在这里输入链接描述主席的角色是将投票权授予他们所选择的任何地址。

(例如-防止不当删除某些用户或用户资产等)

通常,这种功能不是投票智能契约的一部分,否则链上投票契约所注入的信任就会丢失。

一个新的例子,我的投票智能合同,每一次单独的投票(例如-每次新的选举,等等),这是正确的吗?

通常情况下,这就是实现投票智能合同的方式。

如果是的话,为合同指定管理员的正常最佳做法是什么?

这可以追溯到上面的回答/评论。

当我为新的投票创建新的智能契约实例时,是否应该让它们成为智能契约实例的当前所有者?

同样,所有者依赖于合同的执行。

一种可能的办法是:

  • 创建地址只有一种能力,即识别“主席”的能力。
  • 一旦“主席”-ship被授予,创建地址就不再具有特权。
  • 可以选择:“主席”可以指定一个新的“主席”,但不涉及创建地址。
票数 3
EN

Ethereum用户

发布于 2018-03-22 20:31:58

通常,合同的部署者将成为所有者。在构造函数中使用部署人员的地址是简单和安全的。

在合同中定义所有者

代码语言:javascript
复制
address public owner;

在构造函数中,设置所有者既简单又安全

代码语言:javascript
复制
function SmartContract() {
    owner = msg.sender;
}

如果您希望所有者拥有其他特定权限,那么最好能够使用特定、有限的权限设置合同的多个管理员。

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

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

复制
相关文章

相似问题

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