文章
问答
讲堂
百科图谱
线下集训
更多
提问
发表文章
专栏
活动
文档
工作
集市
发现
Toggle navigation
文章
问答
讲堂
线下集训
专栏
活动
工作
文档
集市
搜索
登录/注册
UniswapV2Pair swap源码问题:一个池子中的代币数量_reserve0 和对应的余额balance0是什么关系,是相等吗
一个池子中的代币数量_reserve0 和对应的余额balance0是什么关系,是相等吗 ![WechatIMG944.png](https://img.learnblockchain.cn/attachments/2022/08/Yr7yiusk6309af46a5580.png)
一个池子中的代币数量_reserve0 和对应的余额balance0是什么关系,是相等吗
0 条评论
分类:
Uniswap
请先
登录
后评论
默认排序
时间排序
3 个回答
Tiny熊
2022-08-27 17:00
擅长:智能合约,以太坊
`_reserve0` 是保存的余额, `balance0` 当前实际的余额。 加入在兑换的时候, 转入了 token0 , 此时 `balance0` > `_reserve0` , 对兑换结束时,会用 `balance0` 更新 `_reserve0`
请先
登录
后评论
hunter666
2022-08-27 18:19
对兑换结束后,会用 balance0 更新 _reserve0,那么balance0就等于了_reserve0是吧,我看更新代码里有句这个 ``` reserve0 = uint112(balance0); reserve1 = uint112(balance1); ```
请先
登录
后评论
黄金叶
2022-08-29 11:18
reserve与balance不要求相等, reserve你可以理解为仓库管理员记录的库存数量, balance是一个实时的数量, 管理员记录的数量, 不是实时的数量, 比如有人直接往Pair合约里面转入token时, 这个balance是会变大的, 但是reserve还是不变的 这两个值的作用是: 用实时的balance - reserve上次记录的数量 可以得到, 这次进来的token数量, 用来用户兑换或者添加流动性时, 判断新进来的token数量是否符合规则, 如果不符合规则就不成功, 如果符合规则合约就执行成功, 并在最后让 reserve = balance, 同步一次存储量, 这样下次又可以使用差值来计算新进来的token数量
请先
登录
后评论
您需要登录后才可以回答问题,
登录
关注
3
关注
收藏
0
收藏,
2048
浏览
hunter666
提出于 2022-08-27 13:47
×
发送私信
请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!
发给:
内容:
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因: