一个典型的三明治交易机器人模型

  • 33357
  • 更新于 2022-05-08 14:53
  • 阅读 4698

想做一个典型的三明治交易机器人,首先需要监听mempool里正在pending交易,并且能够快速广播你搭建的机器人交易,这有一些的硬件方面的门槛。其次你必须完全理解dex的运行逻辑和实现代码,不然可能会交易失败。(uniswapv2解析),最后就是搭建三明治交易机器人的运行逻辑,基本上分为以下步骤(这里以uniswap v2为例)

原文发布在 https://github.com/33357/smartcontract-apps这是一个面向中文社区,分析市面上智能合约应用的架构与实现的仓库。欢迎关注开源知识项目!

一个典型的三明治交易机器人模型

想做一个典型的三明治交易机器人,首先需要监听mempool里正在pending交易,并且能够快速广播你搭建的机器人交易,这有一些的硬件方面的门槛。

其次你必须完全理解dex的运行逻辑和实现代码,不然可能会交易失败。(uniswapv2解析)

最后就是搭建三明治交易机器人的运行逻辑,基本上分为以下步骤(这里以uniswap v2为例):

  1. 在mempool里监听发向uniswap router合约的swap交易。
  2. 通过字节码的解析,确定该交易的交易对和交易金额。
  3. 通过对 pair 合约当前状态的检查,确定该交易可以赚取的滑点金额。
  4. 如果可以赚取的滑点金额大于手续费,就同时发出两个交易:如果该交易是卖出token,那么就发出一笔高于该交易gasprice的卖出交易,和另一笔低于该交易gasprice的买入交易。如果该交易是买入token,那么就发出一笔高于该交易gasprice的买入交易,和另一笔低于该交易gasprice的卖出交易。(由于卖出需要事先储备token并做对冲,因此一般都是套利买入的交易)
  5. 由于矿工是按照gasprice的高低来排序的,所以你可以实现在别人卖出之前卖出,在别人买入之前买入,从而实现对滑点金额的套利。(eip1559做了改变,具体可以看这里EIP1559下的 GAS 费设置解析)

这个典型模型的问题

  1. 由于三明治交易机器人的泛滥,你自己做的机器人可能会被别人的机器人影响导致交易失败,损失GAS费。
  2. MEV 技术的发展,一定程度上抑制了机器人的套利行为。
  3. 而矿工的处理规则对这些交易有决定性的影响,因此很多情况下要给矿工让利。
  4. 钓鱼合约可能会使你的机器人血本无归。
点赞 3
收藏 4
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
33357
33357
0x1f24...fa59
传播区块链技术,躺赢未来人生