Bounty1:Dex 全网比价工具(Ethereum DEX Price Comparison Tool)

去中心化交易所比价数据工具

面向 Tokenlon 社区的产品与技术人才们征集「以太坊去中心化交易所比价工具」的解决方案

任务赏金 USDT 2,000
提交草案期 3月4号 ~ 4月15号,2022
草案筛选期 4月15号 ~ 4月22号,2022(1周)
指定奖金猎人(开发者) 4月22号,2022
提交解决方案截止日期
(可提前提交) 5月20号,2022(一个月)
方案评审期 收到解决方案后一周
技术栈基本要求
(任选) TypeScript 、 React、Hardhat、 Solidity、ethers.js

WHY?

Tokenlon 团队从 2022 年第一季度加快产品研发的步伐,同时也在继续探索提升自身竞争力的机会。其中一个重要的方向便是通过持续关注并提升我们的币对报价竞争力让我们的用户以更好的价格完成每笔交易。

WHAT?

「以太坊去中心化交易所比价工具」能够协助 Tokenlon 团队做到

  1. 选择一组 Tokenlon 可交易的主要币对(币对由 Tokenlon 团队提供)

  2. 与以太坊主网络上的领先去中心化交易所的报价做实时对比,包括:

    • Uniswap(V3) - 必须包含
    • Sushi - 必须包含
    • 随意添加其他去中心化交易所 - 可选
  3. 用折线图展示价格对比(接口由 Tokenlon 团队提供),并支持最长一个月的展示周期

开发原则:

  1. 开发项目需要以开源的方式在 GitHub 上进行(我们可以实时观察进度,给予协助)
  2. 任何私有数据需要与核心团队进行共享。
  3. 项目应采用 MIT 开源协议
  4. 请根据我们要求的技术选型,搭配你自己的技术栈选择:
  • TypeScript
  • React
  • Hardhat
  • Solidity
  • Ethers.js

我们能提供的资源:

准备好了吗?请在3月18号之前在留言区提交你的草案吧,草案建议包括:

  1. 思路概况
  2. 方案选型的动机
  3. 方案详情
  4. UI 设计图/原型
  5. 开发时间线
  6. 需要 Tokenlon 提供的信息/资料
  7. 赏金猎人自我介绍:
  • 个人简介
  • 工作经验与重要项目
  • Github 账户

EN

Calling engineering & product talents in Tokenlon community to build up a handy data analysis service - Ethereum DEX Price Comparison Tool

Bounty Reward USDT 2,000
Proposal submission 4 Mar ~ 18 Mar, 2022 (1 week)
Proposal selection 21 ~ 23 Mar, 2022 (3 days)
Nomination of developer 24 Mar, 2022
Solution submission
(Submission in advance is encouraged) 22 Apr, 2022 (1 month)
Solution evaluation Within 1 week after receiving the solution
Basic tech stack requirement TypeScript 、 React、Hardhat、 Solidity、ethers.js

WHY?

As the Tokenlon team picks up speed in developing our product and system in Q1 2022, we are exploring opportunities to stand out from the fierce DEX competition. To achieve this, we want to continuously monitor and improve our quotations for each trading pair, so that we will always offer the price to our users.

WHAT?

Ethereum DEX Price Comparison Tool should allow the Tokenlon team as well as the public to:

  1. Select any trading pair available on Tokenlon
  2. Have a timely and accurate view of the pricing coming from selected DEXs on the Ethereum mainnet, including:
  • Uniswap - mandatory
  • Sushi - mandatory
  • Curve - mandatory
  • 1inch (aggregator) - optional
  • Feel free to add more Dex for comparison - optional
  1. Highlight Tokenlon’s pricing in the comparison list

REQUIREMENTS:

  1. Publish and update your solution on GitHub for the team to keep track of your progress and provide any assistance
  2. Share with the Tokenlon team any data related to Tokenlon
  3. Comply with MIT standards
  4. Work with the tech stack that we require, feel free to add on your own preference.
  • TypeScript
  • React
  • Hardhat
  • Solidity
  • Ethers.js

OUR RESOURCES:

Tokenlon V5 SDK

Ready to take on this challenge? If so please submit your proposal in the comment area before 18 Mar, 2022!

Proposal should include:

  1. Solution abstract
  2. Motivation
  3. Solution specification
  4. UI Prototype/Mockup
  5. Timeline/Roadmap
  6. What do you need from us?
  7. About yourself:
  • Who are you
  • Your experience & past projects
  • Github account

思路概况: 1,先大量收集 流动性交易所数据到数据库, 2,用户询价是,按几十种不同的拼单逻辑,并且筛选出最好的一个价格,3,聚合器合约必须要合并流动性交易所的router合约( uniswap v2, uniswap v3)保证用户少消耗gas

方案选型动机:1,目前市面上真正的聚合器,有的用户来询价,就简单各处寻找一个价格,简单拼单,且不考虑gas 消耗, 很多都没有达到一个最好的询价方式和最低的gas 消耗,2,不同的拆单逻辑在不同的情况下都有可能出现价格差的情况,所以应该没次要多种拆单逻辑并选出最好的价格,

方案详情:

前期准备: 查询所有交易所的价格逻辑,比如uniswap 的恒定乘积算法, 邀请专业线下rfq做市商线下签名报价并要求按指定接口报价

询价模块:

1,不间断的查询链上流动性交易所数据到数据库,比如 uniswap v2, 把所有交易对的reserve0, reserve1 数据查询并存在数据库,有了这些数据,比价时就能用数据库的数据快速的知道 当前价格和滑点,

2,不间断的收集专业线下rfq做市商的价格接口,包括现在的价格,阶梯报价的幅度

选价和拼单模块:要分小单(5000usd以下),中单(5000usd - 50000usd), 大单(50000usd 以上)

小单:优先考虑gas(价格差小于1%的情况),再考虑价格,最后考虑滑点; 尽可能找直接交易对(如usdt-uni),其次着要桥接的交易对(如 tkl-usdt-uni), 数据库价格查询时不考虑滑点直接按现价最优查询

中单:滑点,价格,gas都要同时考虑,这个要根据实际运行中不断的调整,先找最好的价格排序,然后预估到0.5%的滑点后的量 来排序拼单,可以对交易对桥接选出最优的价格。

大单:优先考虑滑点,再考虑价格,最后考虑gas; 对于非稳定币对,一般线下rfq做市商滑点最小,对于稳定币对,一般curve滑点最小, 大单要先根据 订单量 预估一个滑动(如1%),然后去找滑动到这个价格之内的所有流动性源的最好阶梯价格电然后拼单组装,同时不仅要考虑查询直接交易对的价格,还要同时查询一份交易对桥接的价格,比如(usdt-lon)价格,和(usdt-weth-lon)价格都要查询后拼接,中间的币最好不超过2个,如不能超过(usdt-usdc-weth-lonl)

定单价格模块:

将选价和拼单模块用不同的参数,部署到几个甚至几十个服务器,不同参数再不同情况有各自的优势,根据模块得到的多个价格选出一个最低价排序,然后使用estimate预备执行,选定能执行的

proxy合约模块:

多流动性源拼单模式:proxy 合约和用户交互时, proxy 合约将用户的token转入proxy 合约,然后proxy 合约执行 各个流动性源的交易所,最后将proxy 的用户需要token转给用户

单流动性源模式 (确保用户在本聚合器上交易消耗的gas 不比 去单个流动性交易所上直接交易时更多):

只使用uniswap v3流动性源:将uniswap v3 router代码集成到 proxy 合约,proxy合约将enduser token直接和 uniswap v3 资产 pool交互,

只使用类uniswap v2流动性源:将uniswap v2 router代码集成到 proxy 合约,proxy合约将enduser token直接和类uniswap v2 资产pool交互,可以同时跨越不同uniswap v2 资产pool,如(usdt-weth-lon), 使用sushi的 usdt-weth, uniswap v2 的 weth-lon

只使用专业rfq做市商流动性源:将rfq验签和交易的代码集成到proxy合约,proxy合约将 enduser token 直接和 rfq 做市商交互,

UI设计和原型图:

直接参考1inch, paraswap, matcha的 去设计,这个不是技术难点

开发时间线:

第一个月: 设计原型图和UI图,掌握uniswap v2, uniswap v3, curve, balancer等需要聚合的交易所价格逻辑

第二个月: 开发合约,开发后端各个模块,开发前端

第三个月: 各部分调试,测试,部署上线

自我介绍:

曾担任某公链生态组 技术负责人,带领团队开发个公链整个生态的各产品,如区块链浏览器,插件钱包,移动端钱包,类remix的合约部署工具,生态文档,为外部应用团队参与本公链生态进行教学,

担任defi 量化组 技术负责人,熟悉市面上dex(uniswap v2,uniswap v3, curve, balancer,dodo) ,和聚合器(1inch, paraswap, match), 独立开发交易相关合约和后端交易代码

你好,可以提前加入 Tokenlon discord 交流群:Tokenlon

1 Like