计算 AMPL/ETH 的衍生价格

Calculating the derived price for AMPL/ETH

我正在尝试了解如何根据 the ChainLink docs example 计算派生价格。

这是我根据所提供示例中的代码进行的计算:

    // AMPL/USD / ETH/USD = AMPL/ETH
    //
    // decimals: 18
    // baseDecimals (AMPL/USD): 18
    // quoteDecimals (ETH/USD): 8
    //
    // basePrice (AMPL/USD): 1042171653544521600
    // quotePrice (ETH/USD): 286133898282
    //
    // basePrice (AMPL/ETH scaled): 1042171653544521600
    // quotePrice (ETH/USD scaled): 286133898282 * 10^(18-8) =
    //                              2.861339e+21

    // AMPL/ETH (actual):  362708990937550
    // AMPL/ETH (derived): (104217165.354 * 10^18) / 2.861339e+21 =
    //                     36422.5159459

但实际价格是 0.0003673 ETH (according to coinmarketcap)。 latestRoundData 函数来自 ChainLink AMPL/ETH price feed contract returns 362708990937550.

看来我不明白 scalePrice 函数的工作原理。如何计算 AMPL/ETH 的正确衍生价格?

@vasiliy-yorkin

ChainLink docs example 转换值以保留 18 位小数。

来自 ChainLink 的 latestRoundData 函数 AMPL/ETH 喂价合约 returns wei 中的值。

362708990937550 wei = 0.00036270899093755 ETH