Oracles
使用 ETH 作為預言機定價數據的記賬單位的理由
這些是 Compound Finance 以前的預言機合約:
我說“前者”是因為 Compound 在2020 年 8 月 17 日切換到 Open 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 的價格,但不能現在真的找到了參考,所以不能確定。