计算流动性对价格

Calculating liquidity pair price

我正在尝试计算流动性对的价格,但我坚持其中的几个。例如下面的一个:https://bscscan.com/address/0x7f1b11a798273da438b4b132df1383d8387e73b4

我是根据两个reserve的比例计算价格的,即reserveA / reserveB。对于该合约,输出将为(在撰写时)3135836607346091695011 / 219578826733506017523963 = 0.01428114292 BNB,但实际价格为 0.00000000001427 BNB。我在这里缺少什么?

你漏了小数点。一枚币有9位小数,WBNB有18位。合约中的数据都是整数。所以在这种情况下它应该是 3135836607346091695011 / (219578826733506017523963 * 10^9).

你计算的是 9 的次方,因为这是硬币 a 和硬币 b 的小数位数之差。

您也可以在计算之前将合同中的整数值转换为实际的十进制值,对于这两种硬币。您可以通过将每个硬币的储备金额除以(10 的位数次方)来做到这一点。

(3135836607346091695011 / 10^18) / (219578826733506017523963 / 10^9).