【问题标题】:Why would you delete the access keys to your NEAR account containing a smart contract?为什么要删除包含智能合约的 NEAR 帐户的访问密钥?
【发布时间】:2021-06-18 12:26:16
【问题描述】:

这个关于可升级性的答案表明,在某些时候你应该删除包含智能合约的帐户的访问密钥:How do you upgrade NEAR smart contracts?。

智能合约应该在某个时候“冻结”是有道理的,并且您希望让其用户相信它不会被更改。但是属于合约账户的合约奖励和其他资金呢?如果密钥被删除,原始所有者将如何访问它?

【问题讨论】:

  • 我投票结束这个问题,因为它似乎与软件开发无关。
  • 确实是关于软件开发的。这是关于在 NEAR 协议区块链上开发智能合约。

标签: nearprotocol


【解决方案1】:

但是属于合约账户的合约奖励和其他资金呢?如果密钥被删除,原始所有者将如何访问它?

合同应该以允许某些操作的方式实施。

我们以lockup contract 为例。这个合约只有一个所有者,资金被锁定了一定的时间,合约只提供了特定的方法来调用和守护,具体逻辑如下:

  • 作为所有者,我可以将我的代币委托(质押)到质押池,但我仍然不能任意转移代币
  • 作为所有者,我可以通过锁仓合约从质押池中提取奖励,并将其转移到任意账户
  • 一旦锁定时间结束,作为所有者,我可以调用add_full_access_key函数,从而获得对该帐户的完全访问权限,甚至在此之后将其删除(将所有令牌转移到其他帐户)。李>

所有这些都是在合约层面明确实现的,并且易于审查,并且由于锁定合约上没有其他 AccessKey,我们可以确定没有其他方式可以干扰合约逻辑。

【讨论】:

    猜你喜欢
    • 2022-06-22
    • 1970-01-01
    • 2022-06-23
    • 2021-12-30
    • 2022-09-29
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    相关资源
    最近更新 更多