一文了解如何升级多抵押 Dai

据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生态系统中不同参与者的升级过程。

Multi-Collateral Dai

以下为指南的大致内容:

学习目标

  1. 了解如何迁移至多抵押 Dai(MCD);

  2. 针对不同群体的升级指南;

  3. Sai升级到Dai的部分技术细节

在学习本指南之前,你需要了解MakerDAO的基本知识,参见MCD 101指南。

一、迁移App的操作

在MCD正式发布后,migrate.makerdao.com上的迁移应用程序允许你通过简单的操作(输入数量然后确认)就可完成Dai和CDP的迁移。

5

用于将Sai 升级到 Dai 的面板

6

用于升级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存款利率智能合约,该合约允许你赚取利息。

下图概述了升级流程:

p1

场景2:如果你是把Sai存放在交易所或中心化托管钱包,或者锁定在dApp智能合约中,你可以要求服务商帮忙完成升级,或者将币提取到自己控制的钱包,然后前往migrate.makerdao.com自行完成升级。

2、作为一名SCD CDP(债务抵押头寸)所有者

在MCD发布之后,你可以通过migrate.makerdao.com上的升级应用程序将SCD CDP升级到MCD CDP。下图展示了 CDP升级的流程:

p2

你还可选择通过偿还债务和赎回你的以太币来手动关闭你的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、作为中心化交易所或托管钱包

  1. 选择一个执行升级的日期,并通知用户。

  2. 在升级时暂停Sai存取款;

  3. 使用迁移应用程序/合约将所有用户的Sai升级到Dai(请参阅下面迁移应用程序/合约部分中的更多详细信息。)

  4. 将代码库指向新的Dai代币合约地址(MCD发布时会宣布);

  5. 恢复Dai存取款;

  6. 告知用户Dai储蓄存款利率,这允许Dai持有者赚取利息;

3

此流程将为交易所/托管用户带来以下用户体验:

4

4、作为去中心化交易所(DEX)

  1. 尽快通知用户有关升级新Dai(MCD)的时间表;

  2. 在平台上添加对新Dai代币的支持,同时将旧Dai命名为Sai;

  3. 当用户发起Sai或Dai交易时,请用户确认自己正在进行交易的代币类型;

  4. 通知用户可以在migrate.makerdao.com上用Sai兑换Dai;

可选:可提供一个UI,方便用户进行代币转移,告知用户Dai存款利率;

5、作为非托管钱包

  1. 尽快通知用户关于MCD升级的时间表;

  2. 同时支持Sai和Dai余额显示;

  3. MCD推出后,新的Dai在你的平台上应命名为Dai,而单抵押Dai(SCD)应命名为Sai;

  4. 通知用户可以在migrate.makerdao.com上用Sai兑换Dai;

可选:可提供一个UI,方便用户进行代币转移,告知用户Dai存款利率;

6、作为Keeper

  1. 使用本指南了解MCD中的Keeper和拍卖的最新情况。

  2. 进行升级;

  3. 官方希望在MCD发布之前发布一个用于拍卖的python库,这将是推荐的竞拍方式。

或者,如果你愿意做一些额外的工作,并且使用原始界面,则可以直接与拍卖合约(flip, flap, flop)进行交互。请注意,未来的抵押品类型可能会有定制的拍卖格式。更多的文档将在MCD发布前提供。

7、作为一名做市商

  1. 在交易所添加多抵押品Dai之后,你可选择支持Sai(旧Dai)的同时,支持新的Dai(多抵押Dai);

8、作为CDP集成伙伴

  1. 选择执行升级的日期,然后尽快通知用户;

  2. 在升级时暂停用户对CDP服务的访问;

  3. 启动升级,支持新CDP核心服务(如果你使用Dai.js进行的CDP集成,请参阅下面的“使用Dai.js”来升级到MCD,如果你是直接与CDP智能合约进行的集成,请参阅下面的“通过智能合约直接集成”来进行升级);

  4. 恢复用户对CDP服务的访问;

可选1:在MCD中实现对附加抵押品类型的支持,如果与你的服务有关,请告知用户Dai存款利率;

可选2: 在Dai 存款利率智能合约中实现用于锁定Dai的UI。 使用Dai.js进行集成:如果你使用的是Dai.js库集成了CDP,请确保已将库更新到最新版本。

更新你的代码库以支持MCD插件的功能,在MCD推出时,此插件将作为默认插件捆绑到Dai.js库中。

直接用智能合约进行集成:如果你是直接通过智能合约进行的集成,则必须添加对新Maker核心智能合约的支持。由于智能合约已经完全重写,大多数函数调用都已发生更改。

  1. 首先你需要了解MCD:https://github.com/makerdao/developerguides/blob/master/mcd/mcd-101/mcd-101.md

  2. 实施对MCD智能合约的支持(查看本指南,了解如何与CDP管理器交互。)

  3. 将代码库指向新的MCD智能合约;

9、作为借贷协议

  1. 选择执行升级的日期,尽快通知用户日期;

  2. 在升级发生时停止Sai的借贷,同时开启Dai的借贷;

  3. 对于Sai中未偿还的贷款,选择以下选项之一(1、接受Sai偿还贷款,然后自己将Sai转换成Dai,2、通知用户不再接受Sai,让他们自己通过migrate.makerdao.com将Sai转换成Dai,然后再进行偿还)

10、作为Dapp运营商

  1. 选择执行升级的日期,尽快通知用户日期;

  2. 更新代码库,在MCD发布时支持新的Dai代币;

  3. 通知用户,让他们通过migrate.makerdao.com将Sai迁移到Dai;

三、迁移合约

上述部分概述的迁移应用程序的功能是由迁移合约负责处理的,该合约将在MCD发布时同时部署,以支持从单抵押Dai到多抵押Dai的平稳过渡。本节将概述迁移合约如何工作,以帮助超级用户和合作伙伴为 MCD迁移做好准备。

这一迁移智能合约是开源的,你可以在这里找到:

https://github.com/makerdao/scd-mcd-migration

在src文件夹中,你可以找到智能合约源代码。主合约是ScdMcdMigration.sol,其中包含了将与之交互的迁移函数。

它包含了三个主要函数:

  1. swapSaiToDai:将Sai升级为Dai的函数;

  2. swapDaiToSai:允许你将Dai交换回Sai的函数;

  3. migrate :允许你将SCD CDP迁移至MCD CDP的函数;

由于迁移应用会直接提供这些功能,因此普通用户不必直接处理这些函数调用,而对于那些希望自己执行迁移工作的超级用户或合作伙伴而言,他们就需要更深入地了解迁移过程。

而要将旧版Dai升级到MCD Dai,必须要使用迁移合约中的swapSaiToDai函数。

从用户的角度来看,这个函数只是将指定数量的Sai升级到新的Dai。

实际幕后的过程要复杂的多,下图概述了将10个Sai迁移成10个Dai时发生的情况。

6

迁移合约还允许用户通过使用swapDaiToSai函数来将新版Dai切换回Sai。在这种情况下,CDP操作是会撤销的。

然而,这项操作需要有一笔已存入迁移合约的Sai盈余资金,因此,合约中必须至少有一笔与你要赎回的Dai金额相等的Sai存款。

关于如何调用swapDaiToSai函数的详细信息,你可以查看该指南。

另外,迁移合约还允许用户将其CDP从SCD核心迁移到MCD核心,而这是通过migrate函数完成的。关于迁移CDP函数调用的更多信息,你可以在这里找到。

小结:


本指南介绍了如何升级至多抵押Dai的步骤及部分技术细节,如果你想要了解更多的细节内容,可查看以下这些资料:

1、https://github.com/makerdao/developerguides/blob/master/mcd/mcd-cli/mcd-cli-guide-01/mcd-cli-guide-01.md

2、https://github.com/makerdao/developerguides/blob/master/mcd/mcd-seth/mcd-seth-01.md

3、https://github.com/makerdao/developerguides/blob/master/mcd/upgrading-to-multi-collateral-dai/cli-mcd-migration.md

4、https://github.com/makerdao/developerguides/blob/master/mcd/add-collateral-type-testnet/add-collateral-type-testnet.md

原创文章,作者:高天,如若转载,请注明出处:http://www.doubi.com/?p=2871

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

在线咨询:点击这里给我发消息

QR code