我正在起草一份投票聪明的合同。我知道我可以给老板安排一份明智的合同。但是我假设“角色”是智能契约的程序员,这样他就可以保持对重要数据结构的控制(例如--防止不适当地删除某些用户或用户资产等)。
我目前的信念是,我会为每一次单独的投票(例如,每一次新的选举等)创建和发布/迁移一个新的投票智能合同,对吗?如果是这样的话,为合同指定管理员的正常最佳做法是什么?该管理员不是智能合同程序员(我自己),而是应该担任当前投票代理管理员的人(即,管理一项特定选票的智能合同的一个特定实例)?当我为新的投票创建新的智能契约实例时,是否应该让它们成为智能契约实例的当前所有者?
发布于 2018-03-22 20:39:20
这里有一些问题:
“角色”是智能契约的程序员的角色,这样他就可以保持对重要数据结构的控制。
听起来并不轻率,但所有者(角色)将取决于合同是如何执行的。
在本例中(从solidity中),所有者被称为“主席”,是创建契约的地址。在这里输入链接描述主席的角色是将投票权授予他们所选择的任何地址。
(例如-防止不当删除某些用户或用户资产等)
通常,这种功能不是投票智能契约的一部分,否则链上投票契约所注入的信任就会丢失。
一个新的例子,我的投票智能合同,每一次单独的投票(例如-每次新的选举,等等),这是正确的吗?
通常情况下,这就是实现投票智能合同的方式。
如果是的话,为合同指定管理员的正常最佳做法是什么?
这可以追溯到上面的回答/评论。
当我为新的投票创建新的智能契约实例时,是否应该让它们成为智能契约实例的当前所有者?
同样,所有者依赖于合同的执行。
一种可能的办法是:
发布于 2018-03-22 20:31:58
通常,合同的部署者将成为所有者。在构造函数中使用部署人员的地址是简单和安全的。
在合同中定义所有者
address public owner;在构造函数中,设置所有者既简单又安全
function SmartContract() {
owner = msg.sender;
}如果您希望所有者拥有其他特定权限,那么最好能够使用特定、有限的权限设置合同的多个管理员。
https://ethereum.stackexchange.com/questions/43587
复制相似问题