AAVE清算操作指南_RES:DRE

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

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

清算人参与清算有三种方式:

使用AAVE应用程序中的清算模块:

https://app.aave.com/liquidations

直接调用智能合约中的liquidationCall()方法

创建自己的自动化系统或者机器人来对贷款进行清算

鉴于方法一较为简单,按照应用内提示进行操作即可,本文重点讨论后两种。其中方法三也使用到了二的方法,即调用了智能合约中的liquidationCall()。

Aave:Yearn Finance被盗事件对Aave v1也没有影响:金色财经报道,Aave在其社交平台表示,Yearn Finance被盗事件对Aave v1没有影响。

此前报道,Yearn Finance被盗事件对Aave v2、v3没有影响,而对于Aave v1的影响正在确认,该协议的最原始版本已被冻结。[2023/4/13 14:01:29]

触发清算的先决条件

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

健康因素低于1的账户。只有健康因素低于1的账户才会被清算。其中健康因素的计算方式为:

其中:

CollateralinETH:?折合成ETH计算的抵押的资产i的值

LiquidationThreshold:清算阈值,最大借出资产/总抵押资产

TotalBorrowsinETH:折合成ETH的借出的资产额度

TotalFeesinETH:折合成ETH计算的所有费用

AAVE采用的是Chainlink的喂价机制。

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

BGD Labs和Chainlink宣布将储备证明整合至Avalanche的Aave协议中:2月7日消息,BGD Labs宣布将Chainlink储备证明Chainlink Proof Reserve(PoR)集成至Avalanche上的Aave协议。这有助于确保Avalanche上Aave 市场中的封装代币得到充分抵押,从而减轻与在 Aave 协议上使用封装代币相关的风险。Chainlink储备证明流现在支持以下封装资产:AAVE.e、DAI.e、LINK.e、WBTC.e 和 WETH.e。(prnewswire)[2023/2/8 11:53:09]

有了低于1的健康因子就可以触发清算条件。要清算某条具体的贷款,还需要知道该笔贷款的借款人地址、贷款金额和资产金额,确保自己有足够的余额帮助贷款人偿还债务。

要被清算的账户

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

使用链上监控

????i.监控AAVE协议发出的时间,并在本地保持用户数据的最新状态。每当用户和AAVE协议进行交互时,都会发出时间,这可以在链上监控到;

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

ETH上涨推动Aave V2锁仓量突破100亿美元,创下历史第二高记录:随着数字货币市场出现反弹,包括BTC和ETH等主流数字货币价格出现上涨,基于以太坊的DeFi协议锁仓量也开始反弹。Aave V2目前锁仓量已击穿100亿美元,创下历史第二高记录,本文撰写时为10,027,834,002美元。Aave V2锁仓量创下历史最高记录发生在2021年5月14日,当时其锁仓量为101.3亿美元。[2021/7/26 1:16:08]

使用项目方的API进行查询

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

执行清算

查询到要清算的账户后,我们就能计算可以清算的抵押物的数量。执行清算一般有两种方法:

编写一个智能合约,在智能合约中直接调用AAVE中的liquidationCall()执行清算

使用Web3.js等软件包进行调用

此处以web3.js为例:

//ImporttheABIs,see:https://docs.aave.com/developers/developing-on-aave/deployed-contract-instances

瓦特合约将于今日16:00上线AAVE正向永续合约:据官方消息,瓦特合约将于新加坡时间2021年1月26日16:00正式上线AAVE/USDT交易对。为配合AAVE上线,正向永续合约将于上线当日15:45-16:00进行停机维护,请广大用户根据官网公告详情提前做好安排。

瓦特永续合约后续将逐步上线更多币种,还请广大用户关注WBF官网公告,第一时间交易热门币对合约。

瓦特合约目前已支持永续合约、组合互换合约、全币种合约、币本位永续合约产品交易,上线币种中,包含主流币种、热门币种及DeFi币种等几十个交易对。瓦特合约将依托强大的技术、风控、品牌、服务优势,助力投资者全面拥抱数字经济红利,为全球用户及机构用户提供专业、安全、合规的合约交易服务。[2021/1/26 13:30:51]

importDaiTokenABIfrom"./DAItoken.json"

importLendingPoolAddressesProviderABIfrom"./LendingPoolAddressesProvider.json"

importLendingPoolABIfrom"./LendingPool.json"

//...Therestofyourcode...

加密货币交易员:2021年Aave和Uniswap等协议将在性能和收益方面超过比特币:1月17日消息,加密货币交易员Luke Martin在YouTube上高度评价了以太坊DeFi中某些主要协议的性能。Martin认为,由于以下三个原因:采用、构建用例以及远离集中式替代方案,Yearn Finance,Synthetix,Aave,Uniswap,SushiSwap,Maker,Compound,THORChain,Balancer,Curve Finance,Wrapper NXM,REN,Chainlink和Band协议在2021年将在性能和收益方面超过比特币。(crypto-news-flash)[2021/1/17 16:23:27]

//Inputvariables

constcollateralAddress='THE_COLLATERAL_ASSET_ADDRESS'

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

constdaiAddress='0x6B175474E89094C44Da98b954EedeAC495271d0F'//mainnetDAI

constuser='USER_ACCOUNT'

constreceiveATokens=true

constlpAddressProviderAddress='0x24a42fD28C976A61Df5D00D0599C34c4f90748c8'//mainnet

constlpAddressProviderContract=newweb3.eth.Contract(LendingPoolAddressesProviderABI,lpAddressProviderAddress)

//GetthelatestLendingPoolCoreaddress

constlpCoreAddress=awaitlpAddressProviderContract.methods

.getLendingPoolCore()

.call()

.catch((e)=>{

throwError(`ErrorgettinglendingPooladdress:${e.message}`)

})

//ApprovetheLendingPoolCoreaddresswiththeDAIcontract

constdaiContract=newweb3.eth.Contract(DAITokenABI,daiAddress)

awaitdaiContract.methods

.approve(

lpCoreAddress,

daiAmountInWei

)

.send()

.catch((e)=>{

throwError(`ErrorapprovingDAIallowance:${e.message}`)

})

//GetthelatestLendingPoolcontractaddress

constlpAddress=awaitlpAddressProviderContract.methods

.getLendingPool()

.call()

.catch((e)=>{

throwError(`ErrorgettinglendingPooladdress:${e.message}`)

})

//MakethedeposittransactionviaLendingPoolcontract

constlpContract=newweb3.eth.Contract(LendingPoolABI,lpAddress)

awaitlpContract.methods

.liquidationCall(

collateralAddress,

daiAddress,

user,

daiAmountInWei,

receiveATokens,

)

.send()

.catch((e)=>{

throwError(`Errorliquidatinguserwitherror:${e.message}`)

})

设置一个清算机器人

以上即为清算的逻辑,在设计清算机器人时,按照以下步骤即可:

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

考虑清算最有利可图的抵押品,不仅要考虑到贷款债务的金额,还需要把gas的成本计算在内,以此判断是否有足够的获利能力;

确保机器人访问的是最新版本的AAVE协议;

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

计算收益

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

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

最大清算奖励=抵押品总价值*清算奖励比例

计算交易需要的gas费用

最大获利=最大清算奖励减去gas费用

清算奖励比例根据币种的不同而有所变化,一般来说,稳定币清算奖励相对较低,非稳定币价格则更高:https://docs.aave.com/risk/asset-risk/risk-parameters

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:0ms0-2:811ms