区块链中的数学-uniswap 中交易的几种情况算法

这篇文章主要介绍了区块链中的数学-uniswap 中交易的几种情况算法 ,文中通过代码以及文档配合进行讲解,很详细,它对在座的每个人的研究和工作具有很经典的参考价值。 如果需要,让我们与区块链资料网一起学习。

https://www.interchains.cc/17662.html

区块链中的数学-uniswap 中交易的几种情况算法是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,区块链中的数学-uniswap 中交易的几种情况算法学习起来其实是很简单的,

不多的几个较为抽象的概念也很容易理解,之所以很多人感觉区块链中的数学-uniswap 中交易的几种情况算法比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难

区块链blockchain中的数学-uniswap 中交易的几种情况算法

罗列了交易的几种情况算法流程

写在前面

上一节说了Uniwap核心算法中的流动性管理, 主要核心内容已经讲完了,这一节说下实现相关内容,作为总结。

本文的基础是上三篇,建议认真理解,凡是都有背景知识,没有捷径可走!

本文说下uniswap一些代码实现核心方法。

Swap交易

由于uniswap每个交易池都是ETH和另外一种代币token, 所以交易可以分为三种情况, token交换ETH,ETH交换token,token交换token。下面分别介绍

1. token交换ETH

ethToTokenExact 方法,使用定量的其他token交换ETH,

<a href=区块链blockchain中的数学-uniswap 中交易的几种情况算法” />

其中,

<a href=区块链blockchain中的数学-uniswap 中交易的几种情况算法” />

这里符号含义同上篇,不再解释!

2. ETH交换token

tokenToEthExact方法,使用定量的ETH交换其他token,

<a href=区块链blockchain中的数学-uniswap 中交易的几种情况算法” />

其中,

<a href=区块链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)$.

状态转移如下:

<a href=区块链blockchain中的数学-uniswap 中交易的几种情况算法” />

其中,

<a href=区块链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/17662.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 !
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 区块链中的数学-uniswap 中交易的几种情况算法

提供最优质的资源集合

立即查看 了解详情