Liquidable DAO:让 Nervos DAO 中的 CKB 重获流动性_币世界+nervos中文社区

2021-03-25 23:03 栏目:行业动态 来源:网络整理 查看()

Nervos DAO是CKB上链的第一个dApp,可以有效消除二次配送带来的额外影响。Nervos DAO是CKB上链的第一个dApp,可以有效消除二次配送带来的额外影响。但是,存放在内尔沃斯道的CKB必须至少取出180大纪元(约30天),才能再次获得流动性。

开发商一直在试图打破Nervos DAO的流动性限制。在CKB开发商JJY提出dCKB概念之前;这一次,开发者Retric创建了Demo『可变现DAO』,并进一步尝试释放Nervos DAO的流动性。通过视频,他解释了CKB的整个开发过程以及在这个过程中可以使用的开发工具。来自Retric的可清算DAODemo

在这篇文章中,威廉姆斯将带你探索可清算道的奥秘。

CKB在DAO还能重获流动性?

Liquidable DAO:让 Nervos DAO 中的 CKB 重获流动性_币世界+nervos中文社区

上图是Demo中可清算DAO dApp的界面。由此可以看出,在这个演示dApp中,可以分为四个功能。除了众所周知的存取功能外,我们还可以看到两种特殊的选择,即带特殊锁的存取和转移DAO单元。简单来说,我们可以透过「特别锁存」,从CKB产生一个拥有权可转让的神经道细胞,而透过「转让神经道细胞」,我们的神经道细胞在180大纪元届满后,可以开放给其他拥有者使用。

通过这种方式,Nervos DAO中的CKB成为一种持续流动的资产,可以用于各种与DeFi相关的合同或协议,如贷款、抵押贷款和收入聚合器。将来,新的内富道小组的拥有人(例如接管人及清盘人)仍可在期满后将CKB换出使用。这样,不仅可以继续锁定状态,而且CKB在内尔沃斯道的抵押人也不会缺乏资产的流动性。

可清算道的原理与设计

接下来,我们将讨论具体的设计。首先,如果我们想让nevros DAO中的CKbyte具有流动性,就意味着这个nevros DAO Cell不仅可以交易,它的新主人也可以顺利使用nevros DAO Cell。在180大纪元到期后,他们可以用来赎回储存在Nervos DAO的细胞,并在二次发行奖励中带走CKB。

如果我们想让Nervos DAO里的CKB被别人收藏使用,就必须对原来的Nervos DAO Cell做一些改动,但是如何在保留Nervos DAO特点的同时,进行所有权的转移呢?

我们知道Nervos DAO的脚本设置在Cell的类型脚本中,所以我们确认类型脚本不能修改。此时我们只能在另一个锁脚本上做一些文章。只要我们能把默认的secp256k1换成特殊锁。

从下图中我们可以发现,当CKB通过上述的“带特殊锁的存款”存储在Nervos DAO中时,除了Nervos DAO单元之外,输出中还会生成另一个普通单元“傀儡单元”。他是Nervos DAO细胞的傀儡。所以,只要能在nevros DAO细胞和傀儡细胞之间建立一定的联系,就可以通过这种关系将nevros DAO细胞的所有权与傀儡细胞进行转移。

Liquidable DAO:让 Nervos DAO 中的 CKB 重获流动性_币世界+nervos中文社区

我们在这里可以看到带有特殊锁的Nervos DAO Cell,它的Lock Script中的Code_Hash已经是special_lock_code_hash的解锁逻辑,表示所有权的参数和传入傀儡Cell的类型脚本Hash被视为唯一字符串。如何生成唯一的字符串?这时候Nervos中的Type ID就派上用场了。类型标识可以保证单元格中的类型脚本哈希是唯一的。所以,这个时候,谁拥有傀儡细胞,就等于拥有了内维斯DAO细胞,那么内维斯DAO合同的CKB就可以在到期后提取。

Liquidable DAO:让 Nervos DAO 中的 CKB 重获流动性_币世界+nervos中文社区

合同写作过程

有了这样的设计,我们就可以保证Nervos DAO细胞的所有权随着傀儡细胞的转移而成功转移。傀儡细胞也可以是基于神经道的衍生资产,因为任何接收傀儡细胞的人都会知道神经道中存储的CKB是它的幕后黑手。

合同的操作如下。主要目的是确认Nervos DAO细胞的锁脚本是否可以被傀儡细胞的拥有者打开:

加载当前锁的所有参数

循环所有输入单元格,看看是否有输入单元格,它的类型脚本hash等于这个args,所以我们将公开args,看看是否有相应的输入

如果没有找到对应的输入单元格或者找到的数字大于1,那么就会返回一个错误,因为我们需要确保Puppet Cell和Nervos DAOCell是一对一的绑定关系

如果只有一个单元格满足此条件,则加载该傀儡单元格的数据字段作为目标用户的公钥哈希

从该事务的签名中恢复签名的公钥哈希,这样就有了两个公钥

首先,目标用户拥有傀儡单元中数据字段的公钥

用于签署此交易的公钥

检查两个公钥是否相等。如果相等,则证明签名人和单元格的所有者是同一个人,返回正确。

在返回正确后,我们确认这个神经岛细胞中的CKB可以被持有木偶哈希的主人使用。

可以使用的基本工具

最后,在Demo中,我们还可以看到Nervos上已经存在的很多基础设施,可以用于合同编写,方便各种开发工作的顺利开展。

在合同编写部分,可以使用Capsule作为开发工具进行链式合同编写,也可以直接在Capsule中进行测试和部署,可以节省大量的工作量,让开发人员专注于自己的业务逻辑的编写和设计。这个过程中有趣的部分是公钥的恢复,它还涉及一种“动态加载”技术来加载签名所需的算法。

有了连锁合同,我们将需要一个前端接口,服务器将与区块链互动。例如,提升链上的数据并与前端网页交互。下图是整体开发架构。前端可以在Nervos上开发各种语言或者开发框架;同样,服务器端可以使用任何语言。但是,我们建议使用Node.js,因为当服务器与链交互时,会有许多重复的任务。这时候,Lumos这个由Nervos提供的工具,可以帮助开发者减少大量的开发。比如Nervos DAO中的各种动作,比如取款/存款,都被Lumos封装了,可以直接使用。

Liquidable DAO:让 Nervos DAO 中的 CKB 重获流动性_币世界+nervos中文社区

如果想了解更多,可以参考以下链接:

1.可清算DAO dApp回购:

https://github.com/RetricSu/liquidable-dao-dapp

2.可清算的DAO合同回购:

https://github.com/RetricSu/liquidable-nervos-dao-contract

dapp服务器的开发工具Lumos

https://github.com/nervosnetwork/lumos

4.合同撰写和开发工具胶囊:

https://github.com/nervosnetwork/capsule

5.类型标识:

https://学姐. space/2020 _ 02 _ 03 _ introduction _ to _ ckb _ script _ programming _ type _ id/

6.动态负载:

https://docs . nevros . org/docs/labs/capsule-dynamic-loading-tutorial

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:币友交流QQ/WX群请联系客服加入!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
虚拟币开发,虚拟币交易平台开发,山寨币交易平台开发 Keywords: 虚拟币开发 虚拟币交易平台开发 山寨币交易平台开发