版本比较

密钥

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。
  1. 账号模型

    1. Authkey 的初始化问题

      1. 问题描述:第一次创建账号的时候需要 Authkey,导致转账的方法需要判断对方账号是否在链上,然后需要填充不同的参数,增加了第三方(比如交易所)的介入复杂度。Authkey,导致转账的方法需要判断对方账号是否在链上,然后需要填充不同的参数,增加了第三方(比如交易所)的接入复杂度。

      2. 解决方案:第一次创建账号时 Authkey 留空,使用 address 作为 Authkey,虽然 address 的长度小于 Authkey,安全性比 Authkey 低,但提高了易用性,当用户第一次发起交易的时候自动更新 Authkey(当然用户可以主动发起更新 Authkey 的交易)。

    2. 合约账户问题

      TODO

      1. Move 中并没有专门的合约账户。但有一些情况,需要类似合约账号的机制。比如:提供全局注册表,并允许任何人注册。

      2. 通过提供 SignerDelegated 的机制,允许用户将自己的账号的 SignerCapability 代理给合约,合约可以通过 SignerCapability 在合约中创建出 signer 实例,模拟该用户。

  2. 合约升级

    1. 两阶段提交升级

    2. DAO 治理方式升级提供了用户级别的设置 ModuleUpgradeStrategy

      Image Added
    3. 两阶段提交升级:先提交升级计划以及代码 Hash,再执行升级交易。

    4. DAO 治理方式升级:将 UpgradePlanCapability 托管给 DAO

  3. DAO 链上治理

    1. 合约升级

    2. 修改链上配置

    3. 国库资金支配

    4. Token 铸造

  4. Token 协议

    1. 全局注册表难题: Token::name_of<T>

    2. 用户需要先初始化 Balance<T>,才能接受 Token T。

  5. NFT

    Image Added
  6. Oracle

    Image Added
  7. YieldFarming