Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

ChatGPT写个基于钱包的MEV BOT

屯币二十年
401 0 0
    最近chatGPT展现出的实力异常强大,既然它这么牛逼,所以是否可以写一些略微复杂的代码出来,比如能让我们实打实赚钱的网格交易机器人甚至是MEVBot?结果来看很让人惊艳,先说结论:+ I$ Y' Z' M4 ?' A' y" v/ \

- _1 h- u5 q& ^' B" \- p, z  e    1.通过一些input调教,chatGPT真的可以写出一个非常基础但是基本可用的girdtradingbot,并且能进行一些基础的优化。2.更加出乎我意料的是,它竟然还能写出一些简单的MEVBOT,甚至可以调用不同的api去写满足不同条件的MEVBOT
2 B' R& x, }  [" U' |6 I# N- }, Z; e! Y) s3 i
    简单来说,只要反复执行下面的步骤,就可以得到一个可用的基于钱包的mev机器人:
8 X* q$ Q# d6 o4 f) `$ Q: b+ y7 ~
- C+ M; J. X7 x/ O5 k. d    1.开始输入简单的业务需求(例如要求AI写一个网格交易机器人)- H- J% Y) g: @; r8 g  _

0 l( t$ A4 J; ?( S# B6 S, S8 `    2.通过输入"optimizetheabovecode"命令让AI优化几次代码
& F3 N* p# V: @+ _0 S2 a& f0 K5 z8 V: I$ y/ P' B
    3.输入更为复杂的业务需求(例如要求AI写一个mev套利机器人)
6 @3 _) R4 P: w0 o- S* x6 ?8 G# Y* D2 p' I# x
    4.通过命令继续优化代码下面我们一起看下具体怎么做:
. N4 r  G% s' ?0 N! R/ J! m' S9 r  q8 B* f7 n& v; p! t8 m/ q$ j8 D
    1)我们尝试在Input区域输入一个具体的需求,例如“writeagridtradingbotwithbinanceAPI“,我们就可以得到如下Python版本的一个网格买入代码模板(它甚至会告诉我们它的实现思路是什么样的),仔细看看,并没有什么明显的bug,属于不用改就可以用的程度8 R2 D) l6 Y5 Q% ^

; N0 ]( i) t* o* I' v    1670325463047442.jpg
0 Q" T" t1 l2 w/ D8 z7 d. w1 E: \; O
$ x3 [4 y& v/ H% k/ y, `- `7 G  T, m    2)当然,本着高要求的态度,我们可以继续输入“optimizethecodeabove“来让AI自动优化下上面的代码。这个过程反复个两三次,一直到自己满意为止。我们会发现,chatGPT会给出每次优化的思路,并且优化后的代码会变的更加简洁。这些思路其实非常值得我们学习,尤其是一些刚刚接触这类开发的人9 R( T9 m% j& ]- l$ k/ h

* F  w; a% @% X; @& u4 G    1670325469190758.jpg ! r* J/ y. X* A. O" [: `* f

  U6 u5 B! X4 g    3)不过既然是gridtradingbot,怎么能只有买入呢?所以我们试试输入“writeagridtradingbotofsale“,发现竟然得到了一个完整的买入卖出网格交易机器人!更难能可贵的是代码依旧不需要修改就能直接用
0 M  a; @1 j/ f5 o. b- P( H9 U3 `( c: \; G6 q
    1670325474401326.jpg
7 n  ~: D# o* _& }8 C. [) D2 E3 i" a& _; Q$ R
    4)至于继续让AI优化代码的步骤我们就不再重复了,毕竟这次我们只是想了解一下它能不能写一个逻辑稍微复杂一点的代码,现在来看,网格机器人是难不倒它了。那么,如果遇到复杂度更高的MEVBOT,它能处理吗?让我们输入“WriteaMEVBOTinpython“,发现得到的MEV机器人并不是我们知道的链上maximal-extractablevalue,而还是基于Binance的传统gridtradingbot,这也启发我们,眼界不要狭隘,MEV可不止链上:)( f5 S+ R) B# ^2 U: G# [

  p5 N0 T8 b5 e( |, d    1670325481129302.jpg
- Z  r- W2 g% y# P
+ {" c; A( K3 p8 C    5)不过如果我们限定这个MEVBOT是On-chain的MEV,chatGPT能搞定吗?于是我们可以在Input这里输入一个非常具体的要求:writeauniswapMEVBOT。结果就是…………它给我们写了一个JS版本的sniperbot!而Sniperbot就是MEVBOT里最简单的一种,理解成夹子就行+ c: l8 S- X! ~' `

0 M/ I6 k7 Z! b    1670325493837026.jpg 1 |( K" j3 |0 f3 E" O

3 z  X) n3 o, N8 ^" i2 p    大概看一下它的逻辑和代码结构,我们会发现它基本上已经是一个可用的sniperbot.甚至连feeAmount这种条件都考虑到了。当然,它最后的创建新池是没必要的,我们可以稍微调整下逻辑改成监控现有池子即可。
2 I. [( k# @: W. h. q# x
0 ~7 q3 D  o# {! k. ]+ Q    1670325500108756.jpg
8 {# R9 v9 o# y; k7 o- ]  |: M7 n( N0 o. K0 K
    7)既然我们离成功只差这一步,那干脆就试试让它自己写一个可以监控DOGE/ETH池子的sniperbot吧。继续加限定条件。一个基本不会有什么报错的基于EOA/个人钱包的简单MEVBOT就生成了~( ^9 \9 i. @. [4 v7 `
9 [. H3 v& s, _  P
    1670325512742976.jpg
: t; O6 a$ t5 r) i. k) @9 o% D; M. O  M+ d9 e
    后续就是可以重复去优化这个代码,一直到优化一个自己满意的版本出来,然后复制出来稍微修改下其实就可以用了。这里注意的是它生成的代码里的合约地址都是主网地址,自己去试的时候记得先换成测试网试试。不过,我们知道真正的MEVBOT在交易的时候都是通过合约去交易而不是通过EOA发送交易,那么如果$ |( P8 i% k  h. p+ m" _

+ V" }( g, {8 l    我们想让chatGPT去帮我们写一个基于合约的MEV机器人模板它能做到么?欢迎大家去试试(e.g.inputwriteaMEVBOTwithsmartcontract),我得到的版本如下,里面的一些函数关系可能需要调整下,总的逻辑和结构是没问题的& I! }( b( v0 x2 x% f

  T) E2 H7 w; }+ A: z- l! @    1670325519489119.jpg
( _( V5 t( A% u' F/ x8 s; N- U8 d* w3 y: d8 x% t
    总结:chatGPT的能力确实没的说,在调校得当的条件下,连tradingbot和MEVBOT这种逻辑较为复杂的代码都能生成。更为重要的是它还能为我们提供代码优化思路,这一点我想才是我们应该真正去学习的。它到底还有多少潜力,我们拭目以待。
+ l7 _% ^3 w# `9 I/ [5 }
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

屯币二十年 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    15