区块链中的数学-uniswap 中交易的几种情况算法
这篇文章主要介绍了区块链中的数学-uniswap 中交易的几种情况算法 ,文中通过代码以及文档配合进行讲解,很详细,它对在座的每个人的研究和工作具有很经典的参考价值。 如果需要,让我们与区块链资料网一起学习。
https://www.interchains.cc/17661.html
区块链中的数学-uniswap 中交易的几种情况算法是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,区块链中的数学-uniswap 中交易的几种情况算法学习起来其实是很简单的,
不多的几个较为抽象的概念也很容易理解,之所以很多人感觉区块链中的数学-uniswap 中交易的几种情况算法比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难
区块链blockchain中的数学-uniswap 中交易的几种情况算法
- 区块链blockchain中的数学
- Uniswap
- 交易
罗列了交易的几种情况算法流程
写在前面
上一节说了Uniwap核心算法中的流动性管理, 主要核心内容已经讲完了,这一节说下实现相关内容,作为总结。
本文的基础是上三篇,建议认真理解,凡是都有背景知识,没有捷径可走!
本文说下uniswap一些代码实现核心方法。
Swap交易
由于uniswap每个交易池都是ETH和另外一种代币token, 所以交易可以分为三种情况, token交换ETH,ETH交换token,token交换token。下面分别介绍
1. token交换ETH
ethToTokenExact 方法,使用定量的其他token交换ETH,
区块链blockchain中的数学-uniswap 中交易的几种情况算法” />
其中,
区块链blockchain中的数学-uniswap 中交易的几种情况算法” />
这里符号含义同上篇,不再解释!
2. ETH交换token
tokenToEthExact方法,使用定量的ETH交换其他token,
区块链blockchain中的数学-uniswap 中交易的几种情况算法” />
其中,
区块链blockchain中的数学-uniswap 中交易的几种情况算法” />
3. token交换token
tokenToToken方法,使用定量的某种token交换特定的其他token。
假定使用一定量token A记为 $t_A$ 交换token B记为 $t_B$, 由于没有$t_A,t_B$, 不在一个交易池中,所以不能直接进行交易。
为了能够交易,必须要找到 $t_A$–>$t_B$ 的兑换路径, 最最简单的路径是,$t_A$ -> eth –>$t_B$ .也有可能不止一种路径。
以最简单的路径为例,有两个交易Pool的合约状态分别为 $(e_A,t_A,l_A)$ 和 $(e_B,t_B,l_B)$.
状态转移如下:
区块链blockchain中的数学-uniswap 中交易的几种情况算法” />
其中,
区块链blockchain中的数学-uniswap 中交易的几种情况算法” />
这过程先用$Delta t_A$利用上两节讲的价格计算公式,换取特定的ETH数量,再拿这些ETH去 $(e_B,t_B,l_B)$池中,同样按照价格算法,最终得到$t_B$数量。
由于可能存在多少个路径path, 所以会存在最优路径,实现中用tokenToTokenExact,可以参见合约源码。
交易划点处理
uniswap可以在前端设置交易划点,默认是5%,什么意思呢?这是传统交易中的一个名词,是说挂单价格和实际成交时刻价格细小差别。 我们知道以太坊ethtps并不高,尤其拥堵时,出现划点较大的情况很正常,uniswap通过提供划点设置,让用户决定可以接受的范围,如果在最终交易确认时的价格超过了划点设置范围,该交易会被回滚,视为交易失败。
划点相关计算逻辑没有写在合约代码中,而是交易前端(uniswap-interface)repo中,当用户输入一种代币数量时,会根据划点计算出,可换取的另一种token的最小值,连同理想情况数值(划点为0情况)一并传给合约, 合约执行时若价格高于最小值则接受,否则revert, 具体逻辑参见合约代码。
小结
本文主要罗列了交易的几种情况算法流程,有了之前三篇的理解,本文理解顺理成章,就是具体实现的逻辑,到此uniswap的核心算法系列已经讲解完毕。
还有其他一些细小的辅助知识点,自行学习。
从下一篇开始,回归到原正题, 前天就有密码学与区块链blockchain课程群的同学说,尽快讲讲VRF, 敬请期待!
欢迎关注公众号:blocksight
部分转自网络,侵权联系删除www.interchains.cchttps://www.interchains.cc/17661.html
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 区块链中的数学-uniswap 中交易的几种情况算法