当前位置:主页 > 唐山新闻财经 > 文章内容

AAVE整理操作指南

日期:2020-10-16 浏览:

大发888游戏下载

欢迎访问dafa888网址(www.173419.com)。ddafa888是大发888在线的简称,ddafa888开放大发888客户端下载、大发888体育、dafa888扑克、大发888真人等业务。

AAVE 是一个 DeFi 去中央化贷款协议,人们可以使用多种加密资产作为抵押,向其申请贷款。现在能够作为抵押资产的加密资产包罗 ETH、DAI、USDT、LINK 等十几种。

作为一个贷款协议,系统自己运行康健与否很大程度上取决于使用该协议举行的种种贷款是否康健。当所有的借款人都有足够的抵押品抵押时,整个系统拥有足够的归还能力,系统是康健的;而一旦有借款人抵押不足时,整个系统就会增添风险,而一旦这样的借款人过多,整个系统的风险将进一步扩大。因此系统中需要整理人这一角色。整理人对不太康健的借贷(康健系数<1)举行整理,并为此获得抵押物总价值5%-15%的奖励。该奖励措施能够激励整理人实时整理不康健的贷款,从而保障整个系统的金融平安。

整理人介入整理有三种方式:

  • 使用 AAVE 应用程序中的整理模块:

  • https://app.aave.com/liquidations

  • 直接挪用智能合约中的 liquidationCall() 方式

  • 建立自己的自动化系统或者机械人来对贷款举行整理

鉴于方式一较为简朴,凭据应用内提醒举行操作即可,本文重点讨论后两种。其中方式三也使用到了二的方式,即挪用了智能合约中的 liquidationCall()。

触发整理的先决条件

在挪用 liquidationCall() 方式时,我们需要知道几个条件:

  • 康健因素低于1的账户。只有康健因素低于1的账户才会被整理。其中康健因素的盘算方式为:

其中:

  • Collateral[i] in ETH: 折合成 ETH 盘算的抵押的资产i的值

  • Liquidation Threshold[i]: 整理阈值,最大借出资产/总抵押资产

  • Total Borrows in ETH: 折合成 ETH 的借出的资产额度

  • Total Fees in ETH: 折合成 ETH 盘算的所有用度

AAVE 接纳的是 Chainlink 的喂价机制。

公式可总结为:康健因子与抵押物总和成正比,与借出物总额成反比。抵押物越多,康健因子越大,借款人偿付能力越强,该笔借贷越康健。反之借出物越多,康健因子分母越大,值越小,则示意借款人偿付能力越低,该笔借贷越不康健。只有康健因子低于1的账户才会被整理。

  • 有了低于1的康健因子就可以触发整理条件要整理某条详细的贷款,还需要知道该笔贷款的借款人地址、贷款金额和资产金额,确保自己有足够的余额辅助贷款人归还债务。

要被整理的账户

只有康健系数低于1的账户才会被整理。有多种方式可以获到用户的康健系数:

  • 使用链上监控

        i. 监控 AAVE 协议发出的时间,并在内陆保持用户数据的最新状态。每当用户和 AAVE 协议举行交互时(存款、还款、借用等),都市发出时间,这可以在链上监控到;

        ii. 监控到用户地址后,就可以使用该用户的地址,在链上挪用直接挪用查询接口即可查询到 getUserReserveData()。

  • 使用项目方的 API 举行查询(稍有延迟)

项目方提供了查询的 API:https://protocol-api.aave.com/liquidations?get=proto

执行整理

查询到要整理的账户后,我们就能盘算可以整理的抵押物的数目。执行整理一样平常有两种方式:

  • 编写一个智能合约,在智能合约中直接挪用 AAVE 中的 liquidationCall() 执行整理

  • 使用 Web3.js 等软件包举行挪用

此处以 web3.js 为例:

  1. // Import the ABIs,see:https://docs.aave.com/developers/developing-on-aave/deployed-contract-instances

  2. import DaiTokenABIfrom "./DAItoken.json"

  3. importLendingPoolAddressesProviderABI from"./LendingPoolAddressesProvider.json"

  4. importLendingPoolABI from "./LendingPool.json"

  5. // ... The rest ofyour code ...

  6. // Input variables

  7. constcollateralAddress = 'THE_COLLATERAL_ASSET_ADDRESS'

  8. constdaiAmountInWei = web3.utils.toWei("1000","ether").toString()

  9. const daiAddress ='0x6B175474E89094C44Da98b954EedeAC495271d0F' // mainnet DAI

  10. const user ='USER_ACCOUNT'

  11. constreceiveATokens = true

  12. constlpAddressProviderAddress = '0x24a42fD28C976A61Df5D00D0599C34c4f90748c8' //mainnet

  13. const lpAddressProviderContract= new web3.eth.Contract(LendingPoolAddressesProviderABI,lpAddressProviderAddress)

  14. // Get the latestLendingPoolCore address

  15. const lpCoreAddress= await lpAddressProviderContract.methods

  16. .getLendingPoolCore()

  17. .call()

    ,

    欧博手机版下载

    欢迎进入欧博手机版下载(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

    ,
  18. .catch((e) => {

  19. throw Error(`Errorgetting lendingPool address: ${e.message}`)

  20. })

  21. // Approve theLendingPoolCore address with the DAI contract

  22. const daiContract =new web3.eth.Contract(DAITokenABI, daiAddress)

  23. awaitdaiContract.methods

  24. .approve(

  25. lpCoreAddress,

  26. daiAmountInWei

  27. )

  28. .send()

  29. .catch((e) => {

  30. throw Error(`Errorapproving DAI allowance: ${e.message}`)

  31. })

  32. // Get the latestLendingPool contract address

  33. const lpAddress =await lpAddressProviderContract.methods

  34. .getLendingPool()

  35. .call()

  36. .catch((e) => {

  37. throw Error(`Errorgetting lendingPool address: ${e.message}`)

  38. })

  39. // Make the deposittransaction via LendingPool contract

  40. const lpContract =new web3.eth.Contract(LendingPoolABI, lpAddress)

  41. awaitlpContract.methods

  42. .liquidationCall(

  43. collateralAddress,

  44. daiAddress,

  45. user,

  46. daiAmountInWei,

  47. receiveATokens,

  48. )

  49. .send()

  50. .catch((e) => {

  51. throw Error(`Errorliquidating user with error: ${e.message}`)

  52. })

设置一个整理机械人

以上即为整理的逻辑,在设计整理机械人时,凭据以下步骤即可:

  • 整理前需要盘算,确保机械人自己有足够的资金能帮贷款人还清债务,也要盘算能够获得足够的资金作为报偿;

  • 思量整理最有利可图的抵押品,不仅要思量到贷款债务的金额,还需要把 gas 的成本盘算在内,以此判断是否有足够的赢利能力;

  • 确保机械人接见的是最新版本的 AAVE 协议;

  • 其他系统故障和资产平安等。

盘算收益

  • 获取抵押品的详细信息,例如抵押的用户、整理奖励比率等

  • 获取抵押品的数目,并从预言机中获取到抵押品当前的总价值

  • 最大整理奖励=抵押品总价值*整理奖励比例

  • 盘算买卖需要的 gas 用度

  • 最大赢利=最大整理奖励减去gas 用度

整理奖励比例凭据币种的差别而有所转变,一样平常来说,稳固币整理奖励相对较低,非稳固币价钱则更高:https://docs.aave.com/risk/asset-risk/risk-parameters