BlockChain區塊鏈
  • 本書簡介
  • 區塊鏈運作原理
  • Bitcoin介紹
    • 簡介
    • Bitcoin其他知識
  • Bitcoin原理與實作
  • BitcoinJS
    • BTC 地址格式種類
    • 從 Mnemonic 轉為地址
  • Serverless 架構實作
  • Docker常用指令
  • ethereum初探
    • ethereum歷史
    • EVM
  • ethereum PoS 節點架設
  • ethereum(Docker)
  • ethereum(Geth)
    • Parity
  • ethereum(智能合約)
    • 合約測試 Unit Test
    • DAO
    • 可升級合約
    • 使用合約進行 multiswap
    • 合約安全
    • 開發工具
    • Hardhat 教學
      • Hardhat 寫測試
    • ERC-721 範例
      • 白名單機制
    • OpenZeppelin 合約 library
    • Truffle
    • 合約部屬
    • solidity 教學
  • ethereum(Dapp)
    • 相關 SDK
    • Multicall
    • Ethers.js 使用
    • Remix IDE
    • web3.js 使用
    • 在網頁上使用 web3 並操作區塊鏈
      • solidity筆記
  • Hyperledger Fabric
  • blockchainDB
  • 挖礦程式使用教學
    • 門羅幣/Monero (XMR)
  • Bitfinex API 使用
  • FTX API
  • CCXT 通用交易所 API
  • Solana 教學
  • Ethereum BigQuery
  • The Graph
    • yaml 定義
    • mapping 語法
    • Schema 定義
    • Query 範例
    • Unit test
  • DeFi 筆記
    • MEV 相關
    • Dex 聚合
    • Yearn
    • Curve
    • Uniswap
      • Swap 互動
    • AAVE、Compound
      • Compound 原理
      • AAVE 合約開發
Powered by GitBook
On this page

Was this helpful?

  1. DeFi 筆記
  2. AAVE、Compound

AAVE 合約開發

PreviousCompound 原理

Last updated 3 years ago

Was this helpful?

1.獲取 Kovan 測試幣:

2.架設 aave-ui

3.架設好連線錢包,這邊記得選測試網路

選完後會執行前端的以下

4.執行 deposit

這時互動的合約地址如下:(如果是存 ETH 會指向 wETH 合約,其他的指向 LENDING_POOL 合約)

合約部署相關

以下合約設置其他 aave 合約的相關地址

User balance

Reward 計算方式

每次借款與貸款的總數有變動時都會影響 APY,但實際計算要給地址多少獎勵時並不是乘以 APY,而是合約在每次池子兩邊數量變動的時候記錄當下時間與

觸發更新 reward

算法

有關 liquidation

liquidation 的觸發可以是任何人,只要你有發現其他人帳戶的某個資產的 health factor < 1 即可觸發,所以通常會是有個機器人程式定期去掃描每個人的借貸資產的 health factor

health factor < 1 執行 liquidation

health factor 合約計算方式

flashLoan 的 liquidate function call 順序

flashLoan -> executeOperation -> _liquidateAndSwap -> liquidationCall -> calculateHealthFactorFromBalances

https://github.com/aave/aave-protocol/blob/master/contracts/configuration/LendingPoolAddressesProvider.sol
https://github.com/aave/protocol-v2/blob/d5899dd524525e0fc31d74c12ebb497626f823b9/contracts/protocol/tokenization/AToken.sol#L208
https://github.com/aave/protocol-v2/blob/baeb455fad42d3160d571bd8d3a795948b72dd85/contracts/protocol/libraries/math/MathUtils.sol#L21
https://github.com/aave/aave-stake-v2/blob/b9e40fb1c14df7e3874e4def53860d0f53c1d958/contracts/proposals/extend-stkaave-distribution/StakedTokenV2Rev3.sol#L1063
https://docs.aave.com/developers/v/1.0/tutorials/liquidations
Faucets | Chainlink
GitHub - aave/aave-ui: An open source interface for the decentralized liquidity protocol AaveGitHub
Logo
protocol-v2/ReserveLogic.sol at baeb455fad42d3160d571bd8d3a795948b72dd85 · aave/protocol-v2GitHub
aave-stake-v2/AaveIncentivesController.sol at aa4c9cbf4d05762ed33f2d6da2e955b2d27459cb · aave/aave-stake-v2GitHub
aave-stake-v2/StakedTokenV2Rev3.sol at b9e40fb1c14df7e3874e4def53860d0f53c1d958 · aave/aave-stake-v2GitHub
protocol-v2/FlashLiquidationAdapter.sol at baeb455fad42d3160d571bd8d3a795948b72dd85 · aave/protocol-v2GitHub
protocol-v2/uniswapAdapters.flashLiquidation.spec.ts at baeb455fad42d3160d571bd8d3a795948b72dd85 · aave/protocol-v2GitHub
protocol-v2/GenericLogic.sol at baeb455fad42d3160d571bd8d3a795948b72dd85 · aave/protocol-v2GitHub
Logo
Logo
Logo
Logo
Logo
Logo
Logo