为了进一步发展我们的储备库网络,我们开发了一种新的储备库类型 – 自动定价储备库(APR),主要针对持有大量代币的团队,但不需投入大量技术资源来维持储备库。在这篇文章中,我们将解释创建APR的过程、规范、背后的动机以及Kyber流动性网络的当前状态。
APR如何运作
自动定价储备库依赖于Kyber在智能合约中预先设置的算法,以自动提供代币的兑换率。它根据执行的交易和 ETH/代币库存 更改代币的价格。
它首先提供代币的初始供应,并在部署时设定起始价格,直到交易开始时才会更改。根据ETH价格和市场条件的变化(例如,用户以买入或卖出为主),则需要在储备库中补充ETH或代币库存。
下图为代币价格如何随着交易的发生而变化的示例,以及存储在库中的初始ETH和代币库存。
创建自动价格储备库的过程
创建APR需要简单的3个步骤。首先,需要在区块链上部署以下智能合约:KyberReserve.sol和LiquidityConversionRates.sol。其次,储备库经理将初始的ETH和代币库存存入储备库合同。最后,储备库管理调用LiquidityConversionRates合约中的函数setLiquidityParams()来设置流动性参数。之后,储备库将能够进行做市,直到其库存耗尽为止。调用setLiquidityParams()应该在部署储备库时执行一次,然后在补充库存时执行。 储备库经理只需要确定APR的初始流动性参数。具体需要考虑以下信息:
1. 流动资金率
2. 初始以太数量
3. 初始代币数量
4. 初始代币价格
5. 最小和最大的价格支持因素
6. 交易的最大买入和最大卖出量
7. 费率
这些信息将用于计算传递给setLiquidityParams()函数所需的参数。
参数说明
参数如下:
function setLiquidityParams(uint _rInFp, uint _pMinInFp, uint _numFpBits, uint _maxCapBuyInWei, uint _maxCapSellInWei, uint _feeInBps, uint _maxTokenToEthRateInPrecision, uint _minTokenToEthRateInPrecision)
在参数列表中有几点需要注意。 首先,请注意一些参数将具有InFp后缀。 InFp指的是公式精度。 虽然这是可配置的,但建议值为2⁴⁰。
r是流动性,是指当ETH/代幣库存的数量以1个ETH值变化时,价格应以100為单位变动的利率。r为0.01时,价格将移动1%。 r的计算考虑了存入合同的初始ETH和代币的数量,以及所需的最小/最大价格因素比率。 较小的r也意味着需要更多的ETH和代幣库存促进流动性。
对于最小/最大价格因素比率,建议以0.5:2.0的比率开始。 这表明库存足以使标价相对于ETH的代幣價格增加100%或减少50%。
下面是价格为0.00004258 ETH的代币示例表:
安装指南
有关部署和测试自动价格储备的更详细指南,请访问我们的文档
(https://developer.kyber.network/docs/AutomatedReservesGuide/)。如果您有任何反馈或问题,可以在Kyber Developer电报组中找到我们(https://t.me/KyberDeveloper)。
APR的动机
第一种储备库类型是Fed Price Reserve,提供了在网络中引导流动性的手段。希望通过其代币资产为生态系统提供流动性, 能够在完全在链上管理储备库的同时实现这一目标。然而,管理Fed Price reserve的灵活性伴随着相对不稳定的学习曲线和资源成本,这是由于开发,运行和维护链外服务器或脚本来提供链上价格而产生的。
与Fed Price reserve不同,创建APR的首要考虑因素是易于维护。因此,APR能够在智能合约中完全在链上计算兑换率。这意味着储备库经理不再需要承担上述资源成本。
然而,这伴随着对定价算法没有太多的控制权,因为储备库管理依赖于智能合约中的预定义算法。 APR另一个原因是由于最初的ETH库存和执行自动化市场制作所需的代币无法达到权衡而导致财务成本增加。此外,重要的是一个APR只能支持一种代币。如果需要支持另一种代币,则需要部署另一个APR。
APR的设计还可以帮助发现新创建的代币价格,这些代币以前在任何中心化或去中心化的交易所都不可用。通过买卖双方的互动,根据某一时刻的市场情绪,反应其代币的市场估值。
发展共享流动性池
未来自动价格储备库将成为新流动性提供商可用于为生态系统提供流动性的选择之一。他们可以选择经典的Fed Price Reserve以获得更大的灵活性和控制权,或者使用APR来简化管理并降低成本。
BigBom是第一个利用APR的项目。我们一直在运营和支持APR在其他几个项目上的推广,如Midas Protocol、Distributed Credit Chain、Dether和The Abyss,并在不久的将来推出更多项目。到目前为止,Kyber共有16个储备库。
通过与新的潜在流动性提供商的持续合作,我们的目标是进一步发展生态系统中的共享流动性池。更多的流动性让跨链进行更无缝的兑换,从而增加了去中心化应用程序的普及。我们很高兴看到新的流动性提供商利用APR来帮助增加网络流动性。