11

仿PancakeSwap前端 vue版本

 2 years ago
source link: https://learnblockchain.cn/article/3333
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

仿PancakeSwap前端 vue版本

Vue版Swap

😄 肝了好久 肝了一个仿PancakeSwap的闪兑前端

市面上大部分dapp都是由React开发,不想学React只能自己肝一个Vue项目了。也给用Vue开发的朋友一些分享。

奈何我不会react, 无法拿开源代码直接用,只能看着源码一点一点肝出Vue版本,核心js慢慢肝出来的。

该JieSwap用的是PancakeSwap主网的合约,在这里闪兑相当于在Pancake的池子闪兑,如有错误,不负责任。

首先要了解AMM的概念,动手体验一下什么是闪兑。
可以在SushiSwap切换测试网即可体验。https://app.sushi.com/swap

需要大概了解uniswap的合约源码,知道他的闪兑逻辑,Pair池子的概念,池子的定价等

项目前端源代码

https://github.com/Sexy-J/JieSwap

部署在免费的服务器https://jieswap-x4uvs6eu-sexy-j.4everland.app/#/swap

目前核心功能 闪兑

支持多路径闪兑,中间路径可能有BNB,USDT,BUSD

支持普通ERC20,燃烧型ERC20 闪兑

支持查看在本网站的交易记录

这三个功能也是项目的难点

首先要先筛选出所有的路径,然后查询路径中每个池子的reserve,再通过输入或者输出 计算中每一条路径的输入或者输出,选择最优解。

燃烧型ERC20 闪兑

默认使用普通的swap方法,如果普通的swap方法报错,则使用支持燃烧币swap方法再调用一遍。

查看交易记录

当用户进行授权,交易等操作时,一旦得到hash就立马存入localstoage,然后每6秒去查询当前区块,如果当前区块发生变化,则去查询一遍所有的未完成的交易记录

本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

  • 发表于 1天前
  • 阅读 ( 151 )
  • 学分 ( 14 )
  • 分类:以太坊

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK