关于流动性

https://learnblockchain.cn/article/274

对于 K = x*y
只有当交易合约中的流动性增加或减少时，不变量才会发生变化。
例子 ETH ⇄ BAT
假设初始为 10 ETH 和 500 BAT
Invariant = 10 * 500 = 5,000

Bob 通过发送 1 ETH 到交易合约的 ETH 池中来发起他交易，在此基础上扣除 0.3% 作为给流动性提供者的费用。
剩下的 0.997 ETH 被添加到 ETH 池子中。然后，用不变量除以新的 ETH 总量以确定 BAT 池子的最新大小
Bob 发送：1 ETH
手续费：0.003 ETH
ETH pool = 10 + (1 – 0.003) = 10.997
BAT pool = 5000/10.997 = 454.67
Bob 收到：500 – 454.67 = 45.33 BAT

**支付给流动性提供者的手续费在先前 Bob 发起交易时被扣除，现在这笔手续费又被加入到流动性池子中 (这意味着不变量会增加)。这起到了向流动性提供者支付费用的作用，  当这些提供者从市场中移除他们的流动性贡献时，他们就可以获取这些费用。 
由于这笔费用在价格计算后重新被加入， 随着在交易合约上的每笔交易被执行，不变量逐渐增大，**


ETH pool = 10.997 + 0.003 = 11
BAT pool = 454.67
新的不变量 (invariant) = 5,001.37


在这次交易中，Bob 获取 BAT 的兑换率为 45.33 BAT/ETH。

输入：1 ETH
输出：45.33 BAT
兑换率 = 45.33 BAT/ETH


**综上 随着在交易合约上的每笔交易被执行，不变量逐渐增大 **

对于一个短期拉升 大约1000笔交易 K值变化不大 可以忽略不计

eth * token = K
price = eth / token

price  = eth * eth / k
price = K / (token * token)
market cap = price * supply

price 与eth的平方成正比关系 
市值 与 price 成正比关系
所以 流动池 eth*2 ，price*4 ，eth*3 ， price*9

token 变为原来的1/2 price *4
token 变为原来的1/根号2 = 0.7 price*2
token 变为原来的1/根号3 = 0.58  price*3


PUMP.FUN 的定价系统中设置了一个名为 virtualSolReserves 的前置虚拟池。该虚拟池初始包含 30 枚 SOL 和 1,073,000,191 枚代币，其定价公式遵循 x * y = k 的恒定乘积规则。
经过数据拟合计算，初始的 k 值 为 32,190,005,730，每枚代币的初始价格约为 0.000000028 SOL。


Pumpfun上的代币总发行量都是10亿，精度6，成功发射后 LP 的自动燃烧和合约权限的完全放弃。用户募资与代币分配用户通过 PUMP.FUN 平台的买卖操作，共募集到 85 SOL，兑换得到 8 亿枚 Memecoin 代币。初始流动性池的建立募集的 85 SOL 中，79 SOL 用于初始流动性池（6 SOL 作为上币费）。额外2 亿枚代币，和79 SOL 一起添加至 Raydium 的流动性池，使最终代币总量达到 10 亿枚。Raydium 上市后的价格与市值代币 在 Raydium 上线时的每枚代币价格为 0.00000041 SOL，是初始虚拟池价格的 14.64 倍，上线瞬间市值达到 410 SOL。


pump发行到raydium 初始的池子是 
token 206,900,000  206.9M 
sol  79.005359202  79.01 sol


token * sol = 206900000 * 79.01 = 16347169000 
token * sol =16347169000
sol /token = 2.293e-7
so sol=? token=?
please answer:
token ≈ 873095.04 sol ≈ 1.999999

sol = 61.2
token = 267 110 604

