NexisDAO:让 Nervos DAO 的资产流动起来

这篇文章主要介绍了NexisDAO:让 Nervos DAO 的资产流动起来 ,文中通过代码以及文档配合进行讲解,很详细,它对在座的每个人的研究和工作具有很经典的参考价值。 如果需要,让我们与区块链资料网一起学习。

https://www.interchains.cc/23898.html

NexisDAO:让 Nervos DAO 的资产流动起来是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,NexisDAO:让 Nervos DAO 的资产流动起来学习起来其实是很简单的,

不多的几个较为抽象的概念也很容易理解,之所以很多人感觉NexisDAO:让 Nervos DAO 的资产流动起来比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难

NexisDAO:让 Nervos DAO 的资产流动起来

  • DAO
  • 流动性

NexisDAO 将解决 CKB 在 Nervos DAO 上流动性差的问题。 Nervos DAO 作为 Nervos 的一个系统合约,是 CKB 经济模型的重要亮点之一,持有者可以随时将他们的 CKB 存入 Nervos DAO 中从而获取…

NexisDAO 将解决 CKB 在 Nervos DAO 上流动性差的问题。 Nervos DAO 作为 Nervos 的一个系统合约,是 CKB 经济模型的重要亮点之一,持有者可以随时将他们的 CKB 存入 Nervos DAO 中从而获取收益。但是,Nervos DAO 是一种定期存款,存在一个最短存款期限,造成 CKB 流动性比较差。

dCKB 是 NexisDAO 针对 Nervos DAO 实现的一个代币。 用户将 CKB 存入 Nervos DAO 后,可以同时铸造相同数量的 dCKB。这样既有 Nervos DAO 的固定收益,又有 dCKB 的流动性,并且 dCKB 可以自由交易。当然,想要从 Nervos DAO 取款,需要销毁对应的 dCKB。

这些功能都是基于智能合约实现的。 默认的 Nervos DAO,存款时,存款单的拥有者是用户自己;而 dCKB 存款单的拥有者是智能合约,智能合约会给用户发放另一张存单。

同时,基于 xUDT,铸造出一批 dCKB(数量等于存款单上的 CKB 数量),用户想从 Nervos DAO 中取出已存储的 CKB,需要销毁 dCKB 和存单。

存款流程

普通的 Nervos DAO 交易:

Input1: Cell: {             capacity: 10000             lock: User             type: null             data: null         }   Output1: Cell: {             capacity: 10000             lock: User             type: Nervos DAO             data: 0x0000000000000000         }

dCKB的交易:

Input: Cell: {             capacity: 10300             lock: User             type: null             data: null         }   Output1: Cell: {             capacity: 10000             lock: //特殊的lock             type: Nervos DAO             data: 0x0000000000000000         }  Output2: Cell: {             capacity: 150             lock: User             type: DAO Info             data: 10000         }  Output3: Cell: {             capacity: 150             lock: User             type: dCKB(xUDT)             data: 10000         }

从上面的交易可以看出,Nervos DAO 存款时,增加了 2 个 Cell,且 Nervos DAO 的 lock 换成了特殊的 lock

  • DAO Info:用户的存单信息,用于铸造/销毁 dCKB,处理存取款流程。它的拥有者是用户,所以只有用户能够取款。
  • 特殊 lock:要求解锁时,存在 DAO Info 的智能合约。
  • dCKB:智能合约铸造出来的代币,用户可以任意处置它,如转账、买卖等。

智能合约的校验逻辑:

  1. DAO Info 要求 output1 的 lock 为特殊的 lock
  2. DAO Info 要求 output1 的 type 为 Nervos DAO
  3. DAO Info 要求 data 中保存的是要铸造的 dCKB 数量
  4. DAO Info 要求 dCKB 增加的数量等于 CKB 锁定数量
  5. DAO Info 要求 Nervos DAO 处于存款流程
  6. dCKB 为 xUDT,它的 args 为 DAO Info
  7. Nervos DAO:验证对应的存款流程

取款

用户可以随时发送交易从 Nervos DAO 中取出已存储的 CKByte(但这里会涉及到一个锁定期来确定什么时候可以取出代币)。一个 Nervos DAO Cell 获得的利息只会在取出阶段发放,这意味着对于一个包含 Nervos DAO 提取交易来说,所有 Onput Cell 的 Capacity 总和可能超过所有 Input Cell 的 Capacity 总和。

与存款过程不同,从 Nervos DAO 取出需要两个步骤:

在第一阶段,第一个交易是将 Nervos DAO 存款单转换为 Nervos DAO 取款单。

在第二阶段,第二个交易是从 Nervos DAO 取款单中提取代币。

取款阶段 1

默认的 Nervos DAO 流程:

Input1: Cell: {             capacity: 10000             lock: User             type: Nervos DAO             data: 0x0000000000000000         }  Output1: Cell: {             capacity: 10000             lock: User             type: Nervos DAO             data: 0x0012300000000000         }

dCKB 的取款流程:

Input1: Cell: {             capacity: 10000             lock: //特殊的lock             type: Nervos DAO             data: 0x0000000000000000         }  Input2: Cell: {             capacity: 150             lock: User             type: DAO Info             data: 10000         }  Input3: Cell: {             capacity: 150             lock: User             type: dCKB(UDT)             data: 10000         }  Output1: Cell: {             capacity: 10000             lock: User             type: Nervos DAO             data: 0x0012300000000000         }  Output2: Cell: {             capacity: 300             lock: User             type: null             data: null         }

通过上面的交易对比,可以发现,dCKB 的取款流程要求用户同时提供「DAO Info」的存单和 dCKB。

通过销毁存单和 dCKB,实现 Nervos DAO 的阶段一的取款,对应的 Cell 就交给用户了,后续的正式取款就跟默认的流程一样。

智能合约的校验逻辑:

  1. 特殊的 lock:判断 input 中存在 DAO Info
  2. DAO Info:判断 input1 为 Nervos DAO
  3. DAO Info:判断 input1、input2 的 tx_hash 一致
  4. DAO Info:判断 Nervos DAO 流程处于「取款阶段 1」
  5. DAO Info:判断 dCKB 销毁的数量等于 CKB 存款数量
  6. Nervos DAO:验证对应的取款流程

取款阶段 2

阶段 2 的交易是从 Nervos DAO 中取出已存的代币和利息。注意,与第一阶段交易不同的是,用户可以在任何时候发送第一阶段的交易,但在第二阶段的交易中,Nervos DAO 要求存款周期到了才能够真正取出 CKB。 当前的周期大约是 1 个月,如果你在半个月的时候执行了「取款阶段 1」,则需要再等待半个月,才能够执行「取款阶段2」。

该流程完全按照 Nervos DAO 合约的逻辑,dCKB 这边没有任何修改。

关于 NexisDAO,欢迎移步 Nervos Talk,加入下方链接参与讨论:

  • NexisDAO:让Nervos DAO的资产流动起来? – 中文 – Nervos Talk

部分转自网络,侵权联系删除www.interchains.cchttps://www.interchains.cc/23898.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 ! QQ3039046426
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » NexisDAO:让 Nervos DAO 的资产流动起来

提供最优质的资源集合

立即查看 了解详情