据Maker 基金会 CEO Rune Christensen表示,多抵押 Dai 将给 Maker 协议带来很多新功能,包括社区期待已久的 Dai 存款利率 (DSR)以及更多的抵押品类型。
(注:在本指南中,我们将单抵押品Dai系统称为SCD,将多抵押品Dai系统称为MCD,我们把单抵押品Dai代币(旧版现有的Dai)称为Sai,而新的多抵押Dai称为Dai。)
而为了利用这些改进,与单抵押Dai (SCD)交互的用户和合作伙伴必须将其现有的单抵押Dai代币(Sai)迁移成多抵押Dai代币(Dai),CDP(债务抵押头寸)也同样需要进行迁移。此外,与Sai和CDP集成的公司或项目必须更新其代码库以指向新的智能合约,并重构其代码以支持更新的功能。
为了确保所有人能够从单抵押品Dai(SCD)顺利过渡到多抵押 Dai(MCD),Maker官方发布了一份MCD升级指南,该指南概述了Maker生态系统中不同参与者的升级过程。
以下为指南的大致内容:
学习目标
-
了解如何迁移至多抵押 Dai(MCD);
-
针对不同群体的升级指南;
-
Sai升级到Dai的部分技术细节;
在学习本指南之前,你需要了解MakerDAO的基本知识,参见MCD 101指南。
一、迁移App的操作
在MCD正式发布后,migrate.makerdao.com上的迁移应用程序允许你通过简单的操作(输入数量然后确认)就可完成Dai和CDP的迁移。
用于将Sai 升级到 Dai 的面板
用于升级CDP的面板
迁移应用使用了代理合约来执行CDP升级。因此,该应用程序也只能用于通过Maker代理合约创建的CDP。如果你是在cdp.makerdao.com设立了CDP,就会自动发生这种情况。
如果你使用了第三方服务创建的CDP,且其没有使用Maker代理与CDP核心交互,则迁移合约可能不会起作用。你可通过关闭SCD CDP,并将ETH移动到MCD CDP来手动执行迁移。
二、不同用户群体的升级指南1、作为Sai(旧版Dai)持有者
场景1: 如果你将Sai(旧版Dai)存放在一个钱包当中,并且控制了该钱包的私钥,那么你可以前往migrate.makerdao.com,然后按照下面的流程将你的Sai升级到Dai,并有选择地激活Dai存款利率智能合约,该合约允许你赚取利息。
下图概述了升级流程:
场景2:如果你是把Sai存放在交易所或中心化托管钱包,或者锁定在dApp智能合约中,你可以要求服务商帮忙完成升级,或者将币提取到自己控制的钱包,然后前往migrate.makerdao.com自行完成升级。
2、作为一名SCD CDP(债务抵押头寸)所有者
在MCD发布之后,你可以通过migrate.makerdao.com上的升级应用程序将SCD CDP升级到MCD CDP。下图展示了 CDP升级的流程:
你还可选择通过偿还债务和赎回你的以太币来手动关闭你的CDP,并使用你的赎回抵押品开设新的MCD CDP。
如果你的SCD CDP头寸很大,则可能会有没有足够的Sai流动性来执行迁移。在这种情况下,你可能需要联系integrate@makerdao.com寻求帮助。
关于Instadapp的注意事项:如果你是通过Instadapp服务创建了CDP,你需要进入退出页面,然后点击“债务抵押头寸”的“Withdraw”(退出)按钮。这将为你提供CDP的监护权,然后你就可以在migrate.makerdao.com页面执行CDP迁移。
关于MyEtherWallet的注意事项:如果你是在MyEtherWallet钱包上创建的CDP,那么你可以使用migrate.makerdao.com上的迁移应用程序迁移你的CDP。但如果MyTherWallet使用的私钥存储在本地文件或其他未支持的格式中,你必须首先将私钥导入支持Web3的钱包。
3、作为中心化交易所或托管钱包
-
选择一个执行升级的日期,并通知用户。
-
在升级时暂停Sai存取款;
-
使用迁移应用程序/合约将所有用户的Sai升级到Dai(请参阅下面迁移应用程序/合约部分中的更多详细信息。)
-
将代码库指向新的Dai代币合约地址(MCD发布时会宣布);
-
恢复Dai存取款;
-
告知用户Dai储蓄存款利率,这允许Dai持有者赚取利息;
此流程将为交易所/托管用户带来以下用户体验:
4、作为去中心化交易所(DEX)
-
尽快通知用户有关升级新Dai(MCD)的时间表;
-
在平台上添加对新Dai代币的支持,同时将旧Dai命名为Sai;
-
当用户发起Sai或Dai交易时,请用户确认自己正在进行交易的代币类型;
-
通知用户可以在migrate.makerdao.com上用Sai兑换Dai;
可选:可提供一个UI,方便用户进行代币转移,告知用户Dai存款利率;
5、作为非托管钱包
-
尽快通知用户关于MCD升级的时间表;
-
同时支持Sai和Dai余额显示;
-
MCD推出后,新的Dai在你的平台上应命名为Dai,而单抵押Dai(SCD)应命名为Sai;
-
通知用户可以在migrate.makerdao.com上用Sai兑换Dai;
可选:可提供一个UI,方便用户进行代币转移,告知用户Dai存款利率;
6、作为Keeper
-
使用本指南了解MCD中的Keeper和拍卖的最新情况。
-
进行升级;
-
官方希望在MCD发布之前发布一个用于拍卖的python库,这将是推荐的竞拍方式。
或者,如果你愿意做一些额外的工作,并且使用原始界面,则可以直接与拍卖合约(flip, flap, flop)进行交互。请注意,未来的抵押品类型可能会有定制的拍卖格式。更多的文档将在MCD发布前提供。
7、作为一名做市商
-
在交易所添加多抵押品Dai之后,你可选择支持Sai(旧Dai)的同时,支持新的Dai(多抵押Dai);
8、作为CDP集成伙伴
-
选择执行升级的日期,然后尽快通知用户;
-
在升级时暂停用户对CDP服务的访问;
-
启动升级,支持新CDP核心服务(如果你使用Dai.js进行的CDP集成,请参阅下面的“使用Dai.js”来升级到MCD,如果你是直接与CDP智能合约进行的集成,请参阅下面的“通过智能合约直接集成”来进行升级);
-
恢复用户对CDP服务的访问;
可选1:在MCD中实现对附加抵押品类型的支持,如果与你的服务有关,请告知用户Dai存款利率;
可选2: 在Dai 存款利率智能合约中实现用于锁定Dai的UI。 使用Dai.js进行集成:如果你使用的是Dai.js库集成了CDP,请确保已将库更新到最新版本。
更新你的代码库以支持MCD插件的功能,在MCD推出时,此插件将作为默认插件捆绑到Dai.js库中。
直接用智能合约进行集成:如果你是直接通过智能合约进行的集成,则必须添加对新Maker核心智能合约的支持。由于智能合约已经完全重写,大多数函数调用都已发生更改。
-
首先你需要了解MCD:https://github.com/makerdao/developerguides/blob/master/mcd/mcd-101/mcd-101.md
-
实施对MCD智能合约的支持(查看本指南,了解如何与CDP管理器交互。)
-
将代码库指向新的MCD智能合约;
9、作为借贷协议
-
选择执行升级的日期,尽快通知用户日期;
-
在升级发生时停止Sai的借贷,同时开启Dai的借贷;
-
对于Sai中未偿还的贷款,选择以下选项之一(1、接受Sai偿还贷款,然后自己将Sai转换成Dai,2、通知用户不再接受Sai,让他们自己通过migrate.makerdao.com将Sai转换成Dai,然后再进行偿还)
10、作为Dapp运营商
-
选择执行升级的日期,尽快通知用户日期;
-
更新代码库,在MCD发布时支持新的Dai代币;
-
通知用户,让他们通过migrate.makerdao.com将Sai迁移到Dai;
三、迁移合约
上述部分概述的迁移应用程序的功能是由迁移合约负责处理的,该合约将在MCD发布时同时部署,以支持从单抵押Dai到多抵押Dai的平稳过渡。本节将概述迁移合约如何工作,以帮助超级用户和合作伙伴为 MCD迁移做好准备。
这一迁移智能合约是开源的,你可以在这里找到:
https://github.com/makerdao/scd-mcd-migration
在src文件夹中,你可以找到智能合约源代码。主合约是ScdMcdMigration.sol,其中包含了将与之交互的迁移函数。
它包含了三个主要函数:
-
swapSaiToDai:将Sai升级为Dai的函数;
-
swapDaiToSai:允许你将Dai交换回Sai的函数;
-
migrate :允许你将SCD CDP迁移至MCD CDP的函数;
由于迁移应用会直接提供这些功能,因此普通用户不必直接处理这些函数调用,而对于那些希望自己执行迁移工作的超级用户或合作伙伴而言,他们就需要更深入地了解迁移过程。
而要将旧版Dai升级到MCD Dai,必须要使用迁移合约中的swapSaiToDai函数。
从用户的角度来看,这个函数只是将指定数量的Sai升级到新的Dai。
实际幕后的过程要复杂的多,下图概述了将10个Sai迁移成10个Dai时发生的情况。
迁移合约还允许用户通过使用swapDaiToSai函数来将新版Dai切换回Sai。在这种情况下,CDP操作是会撤销的。
然而,这项操作需要有一笔已存入迁移合约的Sai盈余资金,因此,合约中必须至少有一笔与你要赎回的Dai金额相等的Sai存款。
关于如何调用swapDaiToSai函数的详细信息,你可以查看该指南。
另外,迁移合约还允许用户将其CDP从SCD核心迁移到MCD核心,而这是通过migrate函数完成的。关于迁移CDP函数调用的更多信息,你可以在这里找到。
小结:
本指南介绍了如何升级至多抵押Dai的步骤及部分技术细节,如果你想要了解更多的细节内容,可查看以下这些资料:
2、https://github.com/makerdao/developerguides/blob/master/mcd/mcd-seth/mcd-seth-01.md
原创文章,作者:高天,如若转载,请注明出处:http://www.doubi.com/?p=2871