Oracles

使用 ETH 作為預言機定價數據的記賬單位的理由

  • September 11, 2020

這些是 Compound Finance 以前的預言機合約:

我說“前者”是因為 Compound 在2020 年 8 月 17 日切換到 O​​pen Price Feed UniwapAnchoredView.sol預言機。

在研究這個函式時:

function getUnderlyingPrice(CToken cToken) public view returns (uint) {
   address cTokenAddress = address(cToken);
   (bool isListed, ) = comptroller.markets(cTokenAddress);

   if (!isListed) {
       // not listed, worthless
       return 0;
   } else if (cTokenAddress == cEtherAddress) {
       // ether always worth 1
       return 1e18;
   } else if (cTokenAddress == cUsdcAddress) {
       // read from hand picked key
       return v1PriceOracle.assetPrices(usdcOracleKey);
   } else {
       // read from v1 oracle
       address underlying = CErc20(cTokenAddress).underlying();
       return v1PriceOracle.assetPrices(underlying);
   }
}

我開始懷疑他們為什麼選擇 ETH 作為價格參考的基本單位?他們的網路界面跟踪美元的所有價值。

使用 ETH 代替 USD 有什麼好處?

我只是在這裡猜測,但是…

有人可能會問一個反問:為什麼會有人使用美元作為參考價格?美元與區塊鏈無關,而 Eth 是區塊鏈中的原生資產。所以在我看來,使用 Eth 更有意義。此外,代幣與 Eth 之間的轉換也更加流暢,可以在鏈上進行。

我想這也是一個行業標準。我認為 Aave 使用 Eth(在https://docs.aave.com/developers/developing-on-aave/the-protocol/atokens中搜尋“wei” ),我認為 Chainlink 也給出了 weis 的價格,但不能現在真的找到了參考,所以不能確定。

引用自:https://ethereum.stackexchange.com/questions/87381