版本比较

密钥

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

代码块
module XProposalAction{
  struct XAction{
  
  }
  
  public fun new_action(args...): XAction{
   //construct action
  }
  
  //理想的情况是 action 的方法是标准化的,但如果牵扯到带有范型的 action,可能不好统一。
  public fun execute_action(proposer_address: address,
        proposal_id: u64){
  }
}

三、流程

...

TODO:

四、问题

  1. Move实现层面,区分不同的项目方来创建DAO,是通过Template Type 来对其进行异化还是通过 address+id的方式,若按照前者,如何解决合约动态部署的问题?

  2. Snapshot中,存在不同的准入策略,即参与/创建投票的人在DAO中创建/参与投票的时候会有一个准入的门槛,这个准入的门槛是一系列判断条件,这个条件有预置的也有用户。在solidity中可以动态调用,故可以通过一个ABI的字符数组来进行表示,实际执行的时候也是动态去调用这个ABI,且这些策略是可以拼接的。而Move中如果也按照这个思路显然无法实现

  3. 类似的,Snapshot也存在不同的Execution Action,在Move中也可以通过预置Execution的模式去实现,是否还有其他的实现思路?

五、参考

Snapshot 说明文档

Snapshot X 说明文档

...