AAVE V3 DeFi 集成技巧

该文章提供了关于Aave V3 DeFi集成的提示和指南,涵盖了Aave V3的具体功能,包括清算机制、E-mode、隔离借贷模式,以及如何进行供应、借贷和信用委托。此外,文章还分享了如何安全地将项目与Aave V3集成,并提供了一系列相关的链接和资源,方便读者深入了解Aave V3。

Image

AAVE V3 DeFi 集成技巧

此外,Aave 专门使用了超额抵押的概念,即用户只能借入不超过其提供的抵押品价值的金额。

主要链接:

Aave V3 专用:

& Aave V2 TVL & 统计 & Aave V3 TVL & 统计 考虑到加密货币价格的不可预测性以及 Aave 在发放贷款时对抵押品价值的特别关注,这一设计决策是有道理的!

Aave 的工作原理是允许池对池的贷款,存款人将其资产放入流动性池 (LP),然后借款人可以从这些池中借款。

当将资金存入 LP 时,你会收到“aTokens”作为回报,用户将从中获得 LP 和 闪电贷 获得的利息的一部分,并且可以随时兑换你的抵押品。

清算:

  1. 根据用户的健康因子,你可以在 Aave V2 中清算高达 50% 的债务,但在 V3 中可以清算高达 100% 的债务:

    • 如果 HF <= 0.95,你可以清算高达 100%。

    • 如果 HF > 0.95,则只能清算高达 50% 的债务。

  2. 要获取用户的健康因子数据,请使用 Pool.getUserAccountData(address user)

  3. 清算接口:以太坊使用 Pool.liquidationCall(),Optimism、Polygon 等使用 L2Pool.liquidationCall()。 debtToCoverparameter 定义了清算人想要覆盖的代币(debtAsset)数量。 你可以传递 uint(-1) 来清算所有可用债务。

  4. Dune 仪表板(包含清算)的链接。这是 Aave V2 VS Aave V3 仪表板的链接。

  5. 还有一个 subgraph 服务来定义他们希望 The Graph 从区块链索引哪种数据以及如何存储数据。

  6. Aave V3 错误代码 ##

E-mode:当抵押品和借入资产的价格相关时 ,E-mode 功能可最大限度地提高资本效率。

例如,DAI、USDC 和 USDT 都是与美元Hook的稳定币。 这些稳定币都属于同一个 E-mode 类别。 因此,在 E-mode 中提供 DAI 的用户在借入 USDC 或 USDT 等资产时将拥有更高的抵押能力。

以下提示可以帮助你显着提高项目集成的安全性:

  1. id=0 的类别是默认类别,表示 e-mode 已禁用!

2. Pool.setUserEMode(uint8 _id) — 用于将用户的效率模式设置为 id=_id 的类别。 当发生以下情况之一时,该函数会恢复:

  • 用户欠其中一种未在此类别中列出的代币。

  • 更改 e-mode 会将用户的健康因子转移到清算区(即 HF < 1)

孤立借贷:

此功能允许将具有可能被操纵的预言机的资产(例如,流动性不足的 Uni V3 交易对)作为单一借贷资产在 Aave 上列出,这意味着如果用户借入孤立资产,他们将无法借入任何其他资产。 这有助于降低与此类资产相关的风险,而不会影响协议的整体偿付能力。

下面提供的建议可以显着提高项目集成的安全性:

1. AaveProtocolDataProvider.getSiloedBorrowing(address asset) — 用于查明资产是否处于孤立借贷模式。

供应:

1. Pool.supply (address asset, uint256 amount, address onBehalfOf, uint16 referralCode) — 用于供应资产。 另请记住:

  • a-tokens 被铸造到 onBehalfOf 地址。

  • 在 referralCode 中,你必须输入 0,因为推荐代码功能目前处于非活动状态。

  • 在调用时,Pool 合约必须具有来自 msg.sender 的代币数量的批准。

2. Pool.supplyWithPermit(asset, amount, onBehalfOf, referralCode, deadline, V, R, S)——你必须记住在拥有 erc-2612 许可签名的情况下进行供应。

  1. 要将资产设置为抵押品,请调用 Pool.setUserUseReserveAsCollateral(asset, true)。

4. Pool.withdraw(asset, amount, to) 用于提取用户的底层资产,提取的金额应使其健康因子不低于 1(最大值 — 金额)。 它还会返回实际提取的代币数量 (<= amount)。

借款:

  1. 你可以通过 AaveProtocolDataProvider.getReserveData(asset) 获取所需资产的借款利率。 调用将返回元组,其中索引 7 和 8 将分别包含可变和稳定借款利率。(缩放到 10²⁷)

2. Pool.borrow() — 如果不需要进行信用委托,你必须将 msg.sender 发送到 onBehalfOf。

  1. 要偿还所需数量的债务代币的贷款,请调用 Pool.repay(asset, amount, rateMode, onBehalfOf),其中 asset 是底层资产地址,rateMode 对于稳定利率等于 1,对于可变利率等于 2。 onBehalfOf 地址有债务代币被烧毁,msg.sender 自行支付债务。 如果你支付自己的债务,则必须传递 onBehalfOf=msg.sender(切勿发送空/零地址!)。

4. AaveProtocolDataProvider.getReserveTokensAddresses(asset) 输出 a-token、稳定债务代币和可变债务代币地址。 债务代币地址对于信用委托可能很有用!

信用委托:

信用委托使存款人能够将资金存入协议以赚取利息,并将借款能力(即他们的信用)委托给其他用户。

存款人和借款人就贷款条款达成一致,这可以通过法律协议在线下完成,也可以通过智能合约在线上完成。

请记住:

  1. 要批准用户的贷款,请从相应的债务代币调用 .approveDelegation(address delegatee, uint amount)。 然后 delegatee 可以使用 Pool.borrow() 委托 amount 的贷款。

隔离模式: 隔离模式 允许 Aave 治理将新资产作为隔离资产列出,这些资产具有特定的债务上限。 只有某些资产可以在隔离模式下借用——特别是,经批准的稳定币。

资产在经过 AAVE 代币 持有者通过 Aave 治理论坛 投票后才被批准用于借贷。 隔离资产的债务上限表示为可以根据用户的抵押品借入的最大美元金额(精确到小数点后两位)。

请遵循以下准则,以确保你的项目与 Aave V3 的 DeFi 集成尽可能安全:

  1. 尽管没有外部方法可以知道资产是否处于隔离模式,但你可以获取 Pool.getConfiguration(asset) 返回的值(这是一个 uint256),然后从中读取位 212-251,其中存储了隔离模式的债务上限。 请记住,如果它大于零,则该资产处于隔离模式。

Aave V2/V3 深入分析:

👻

借贷:

闪电贷:

用户可能不知道,你只需传递额外的第 4 个参数(用于调用的字节数组),即可将具有巨大流动性的 Uni-V2 稳定币对用作闪电贷来源。

最初发布于 此处

  • 原文链接: x.com/officer_cia/status...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
officer_cia
officer_cia
江湖只有他的大名,没有他的介绍。