Skip to content

Commit 96325b4

Browse files
committed
新版本发布:1.0.20
1 parent 037f263 commit 96325b4

File tree

3 files changed

+191
-90
lines changed

3 files changed

+191
-90
lines changed

config.yaml.example

Lines changed: 188 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
jup_exclude_dex_program_ids:
33
- "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
44
- "MoonCVVNZFSYkqNXP6bxHLPL6QQJiMagDL3qcqUQTrG"
5-
#jupiter绑定的ip,建议设置为127.0.0.1,如果设置为0.0.0.0,则jupiter会绑定所有ip,可能会被别人扫描到,调用你的服务
6-
jup_bind_local_host: 127.0.0.1
75
#jupiter的本地端口
86
jupiter_local_port: 18080
97
#是否禁用本地jupiter
@@ -13,139 +11,240 @@ jupiter_use_local_cache: false
1311
#jupiter的market模式,建议选择remote
1412
jupiter_market_mode: "remote"
1513
#jupiter的webserver线程数
16-
jupiter_webserver: 4
14+
jupiter_webserver: 24
1715
#jup的更新线程数
18-
jupiter_update: 4
16+
jupiter_update: 5
1917
#jupiter的总线程数
20-
total_thread_count: 16
18+
total_thread_count: 64
2119
#自动重启时间,设置为0不会重启,单位为分钟
22-
auto_restart: 30
20+
auto_restart: 60
21+
jupiter_skip_user_accounts_rpc_calls: true # 是否跳过用户账户rpc调用
2322
#________________以上为jup相关配置内容_______________
2423
# 是否禁用本地bot启动
2524
disable_local_bot: false
2625
# grpc token,如果你得gprc有token验证,可以在这里配置上
2726
yellowstone_grpc_token: ""
2827
# 从birdeye api 加载代币,最大加载50个代币,需要自己配置key,可以去注册一个账号key免费https://bds.birdeye.so/
29-
load_mints_from_birdeye_api_max_mints: 50
30-
birdeye_api_key: ""
28+
#load_mints_from_birdeye_api_max_mints: 0
29+
#birdeye_api_key: "01f1c2e4144f45cc8c147f9a55f66b77"
3130
#你的私钥数组,系统启动后会在当前目录下生成一个PRIVATEKEY文件,里面是加密后的私钥,虽然做了加密,但是还是要小心,不要泄露,系统启动后会将此项配置删除,不在服务器上储存私钥
3231
private_key: ""
3332
#solana rpc url
34-
rpc_url: "http://xxx"
35-
yellowstone_grpc_url: "http://xxx"
36-
jupiter_api_url: "http://127.0.0.1:18080"
37-
# Jito MEV-Block-Engine 节点配置列表,建议配置上多个节点,随机选择一个节点进行交易,这样的你的QPS会有提升,尽量选择几个距离你比较近的节点,当然全发也可以,目测日本较慢,会降低整体效率,如果节点不在该区可以注释掉,
33+
rpc_url: "http://xxxx"
34+
yellowstone_grpc_url: "http://xxxx"
35+
jupiter_api_url: "http://xxxx"
36+
# Jito MEV-Block-Engine 节点配置列表,建议配置上多个节点,随机选择一个节点进行交易,这样的你的QPS会有提升,尽量选择几个距离你比较近的节点,当然全发也可以,目测日本较慢,会降低整体效率,如果想追求速度,那么jito的引擎只开本区域,你会起飞
3837
jito_engine:
39-
- NL # 荷兰阿姆斯特丹节点
40-
- DE # 德国法兰克福节点
41-
- NY # 美国纽约节点
42-
- SLC # 美国盐湖城节点
43-
#- Tokyo # 日本东京节点
38+
- "http://xxxx"
39+
# - NL # 荷兰阿姆斯特丹节点
40+
# - DE # 德国法兰克福节点
41+
# - NY # 美国纽约节点
42+
# - SLC # 美国盐湖城节点
43+
# - SG # 新加坡
44+
# - IE #爱尔兰
45+
# - LND # 伦敦别忘记这个
46+
# - Tokyo # 日本东京节点
47+
# - Main #主节点
4448
#是否开启随机引擎,建议开启,随机引擎会随机选择一个节点进行交易,这样的你的QPS会有提升
4549
random_engine: true
46-
#jito配置UUID,没怎么测试,建议先不要用,使用多ip的方法,而不是配置uuid
47-
#jito_uuid: ""
48-
#自定义从url加载代币,返回值应该是["xx","xx"] 这样的格式,否则无法解析,可以从jup加载,比如:http://127.0.0.1:18080/tokens
49-
#load_mints_from_url: ""
50+
51+
52+
jito_uuid_config:
53+
- uuid: "xxxx"
54+
rate_limit: 10
55+
#从url加载代币,可以从你的jup加载代币,你的jup加载了什么币,会拉到bot内。如果从其他地方拉取,需要和jup返回结构抱持一致,建议从jup加载代币
56+
load_mints_from_url: "xxxx"
5057
#从文件加载代币
51-
#intermediate_tokens_file: "./test.json"
58+
intermediate_tokens_file: "./test.json"
5259
#从配置文件加载代币
5360
intermediate_tokens:
54-
- "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"
5561
- "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
62+
- "So11111111111111111111111111111111111111112"
5663
# 排除的币种
5764
not_support_tokens:
65+
# - "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
66+
# - "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"
5867
#最大代币数量,如果低于最大限制的60%会一直请求load_mints_form_url,直到达到目标才会运行起来,主要是为了链接jup 的时候jup还没加载好全部的代币
59-
max_tokens_limit: 80
68+
max_tokens_limit: 50
6069
#最小利润阈值
61-
min_profit_threshold: 1000
70+
min_profit_threshold: 10
6271
#最大tip限制,单位lamports,给jito的最大限制
63-
max_tip_lamports: 100000000
64-
#静态tip百分比,给jito的tip百分比
65-
static_tip_percentage: 0.7501
72+
max_tip_lamports: 1000000000
6673
#交易memo,可以不设置
67-
memo: ""
68-
#建议先从小的开始0.1-1s,不要设置太多,影响性能
69-
#trade_range:
70-
# - 0.1
71-
# - 0.2
72-
# - 0.3
73-
# - 0.4
74-
# - 0.5
75-
# - 0.6
76-
# - 0.7
77-
# - 0.8
78-
# - 0.9
79-
# - 1.0
74+
memo: "Net1"
75+
#随机后缀memo
76+
memo_auto_random_additional: true
77+
78+
# 默认为wsol,如果是sol的话那就是1e9,如果是usdt 的话那么是1e6
79+
base_mint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
80+
#建议先从小的开始0.1-1s,设置很多不会影响性能,性能主要由线程和网络io决定
81+
trade_range:
82+
- 10
8083
trade_range_strategy:
8184
enable_strategy: true
8285
ranges:
83-
- from: 0.1 # 1 SOL
84-
to: 2 # 40SOL
85-
step: 0.05
86-
size: 10 #
86+
- from: 1 # 1 SOL
87+
to: 30 # 40SOL
88+
step: 1
89+
size: 10 #
90+
8791
#发送交易类型,建议选择Mixed,可选Rpc,Grpc,Mixed,选择Mixed可以让你的ip限制速率翻倍
88-
rpc_type: Mixed
89-
#blockhash rpc类型,建议选择Grpc,可选Grpc,Rpc,走数据订阅模式
92+
rpc_type: Rpc
93+
#blockhash rpc类型,建议选择Rpc,可选Grpc,Rpc,当前实现Grpc不是订阅的,等改成订阅的再选用Grpc
9094
blockhash_rpc_type: Grpc
9195

9296
#是否开启block缓存,建议开启
9397
blockhash_cache_enabled: true
9498
#block缓存过期时间,单位ms,缓存1s没啥问题,降低下节点压力
9599
blockhash_cache_ttl_ms: 1000
96100
#性能相关,开启多少个线程,系统负载全靠这个控制
97-
thread_count: 6
101+
thread_count: 32
98102
#每个线程里多少个网络IO,可以一个线程配2个左右,具体看性能,自行调试,作者也不知道多少是好的
99-
max_concurrent: 4
100-
103+
max_concurrent: 2
101104
#日志相关能力
102105
log_rate_limit: false
103106
#打印机会
104107
log_opportunities: false
105108
#打印交易执行
106109
log_trade_execution: false
110+
# 是否打印cu计算日志默认false
111+
log_cu_calculator: false
107112
#是否开启单独钱包
108113
enable_separate_wallet: true
109-
110-
#ip 配置信息,如果有多IP可以在这里配置,否则使用本机IP,建议配置上多IP,如果有请取消注释,并配置上,需要先在/etc/netplan 下配置上ip,然后重启网络
111-
# ip_addrs:
112-
# - "xxxx"
114+
#单独小费钱包数量,默认2000个,如果你有更多IP,你可以添加更多
115+
separate_wallet_size: 1000
113116
#jup 调优
114-
#是否只使用单跳,如果要使用多跳,可以打开多跳,可能会有更多机会,但是会jup quote 的会慢一点
117+
#是否只使用单跳
115118
only_direct_routes: false
119+
#限制中间代币为顶级代币,建议开启,此参数也就是在多跳的时候有用,现在多跳没那么好使,先这样
120+
restrict_intermediate_tokens: true
116121
#是否预检交易大小,先暂时关闭,这个只对多跳有用,等待后续开发
117122
check_transaction_size: false
118-
#是否开启动态计算预算,建议开启
119-
dynamic_compute_unit_limit: true
120-
# 单跳交易给的cu预算,单位为cu,默认8w
121-
single_swap_compute_unit_limit: 80000
122-
# 您为闪电贷款设置的计算预算,单位为cu,默认10w,如果当前交易有闪电贷,那么会自动加上预算
123-
loan_compute_unit_limit: 100000
124-
#计算预算百分比,设置这个值是因为,模拟后的cu可能偏大,可以设置百分比二次修改cu限制,近一步降低cu限制
125-
cu_limit_percentage: 0.98
126-
127-
#一个交易中支持的最大账户数
128-
max_account_limit: 24
129-
#是否开启kamino借贷
130-
enable_kamino: true
131-
132-
133-
#________________盲发相关内容_______________________
134-
blind_send_trade: false
135-
#盲发预期利润,会按照这个利润一直发送交易 sol lamports
136-
blind_expect_min_profit_threshold: 5000
137-
#盲发预期利润百分比,预期利润百分比开启后,固定blind_expect_min_profit_threshold 将失效,按照交易额度来控制给jito的小费比率,也就是
138-
#毛利润 = 交易额 *(1+blind_expect_profit_percent)
139-
#jito 小费 = 毛利 * static_tip_percentage,建议保守和冲刺都要有,找机会
140-
#是否开启盲发
141-
blind_expect_profit_percent:
142-
- 0.000001 # 超保守策略: 交易100 SOL,预期利润0.0001 SOL (≈$0.007) => 约 $0.13
143-
- 0.000002 # 超保守策略: 交易100 SOL,预期利润0.0002 SOL (≈$0.014) => 约 $0.26
144-
- 0.000005 # 超保守策略: 交易100 SOL,预期利润0.0005 SOL (≈$0.035) => 约 $0.65
145-
- 0.00001 # 保守策略: 交易100 SOL,预期利润0.001 SOL (≈$0.07) => 约 $1.30
146-
- 0.00002 # 保守策略: 交易100 SOL,预期利润0.002 SOL (≈$0.14) => 约 $2.60
147-
- 0.00005 # 保守策略: 交易100 SOL,预期利润0.005 SOL (≈$0.35) => 约 $6.50
148-
- 0.0001 # 中等策略: 交易100 SOL,预期利润0.01 SOL (≈$0.7) => 约 $13.00
149-
- 0.0002 # 中等策略: 交易100 SOL,预期利润0.02 SOL (≈$1.4) => 约 $26.00
150-
- 0.0005 # 中等策略: 交易100 SOL,预期利润0.05 SOL (≈$3.5) => 约 $65.00
151-
- 0.001 # 相对激进: 交易100 SOL,预期利润0.1 SOL (≈$7.0) => 约 $130.00
123+
124+
#________________以下为cu相关配置信息,此版本新增_______________
125+
compute_config:
126+
dynamic_compute: false # 是否开启动态计算预算
127+
loan_compute_unit_limit: 100000 # 闪电贷cu消耗
128+
max_cu_limit: 1000000 # 最大cu限制为100w
129+
no_dex_config_cu_limit: 80000 # 不指定dex的cu限制
130+
jup_contract_cu_limit: 20000 # jup 合约的cu限制
131+
bot_contract_cu_limit: 10000 # bot 合约的cu限制,默认1w cu
132+
133+
# 监控相关配置,prometheus 采集指标,可以自行配置
134+
metrics_port: 9090
135+
136+
# 代理配置
137+
proxy_config:
138+
enable_proxy: true
139+
proxy_type: "socks5" # 代理类型,可选为http, https, socks5
140+
proxy_username: ""
141+
proxy_password: ""
142+
proxy_addrs:
143+
- "172.18.96.1:7890"
144+
145+
146+
# back run 配置,主要用于触发大单监控后,只quote相关的dex,进行针对性交易
147+
back_run_config:
148+
enabled: false
149+
enable_log: false
150+
monitor_trade_type: "All" # 监听的交易类型,默认为all,可选为MevSwap,NormalSwap,All
151+
trigger_sol_amount: 1000 # 触发back run的sol数量,监听到有1000s 的交易大单后
152+
trigger_continue_sec: 60 # 触发back run后持续quote大金额时间 秒为单位
153+
trigger_and_quote_min_amount: 1 # 触发back run后,最小交易金额sol 为单位,如果没有触发的时候,只quote此值一下的交易金额
154+
trigger_and_use_blind_trade: true # 触发back run后,是否使用盲发交易,没咋用过,自行测试
155+
trigger_and_quote_dexs: # 触发后只允许交易这些dex,可以不配置,我一般没配置,自行研究
156+
- "TesseraV"
157+
- "HumidiFi"
158+
- "GoonFi"
159+
- "Perps"
160+
trigger_transction_must_include_addresses: [] #触发的时候必须包含的地址 此配置暂时不生效
161+
# - "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"
162+
# - "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1"
163+
monitor_addresses: # 监控哪些dex 的大单
164+
- "TessVdML9pBGgG9yGks7o4HewRaXVAMuoVj4x83GLQH"
165+
trigger_mints_include: # 触发backrun 后,只允许交易这些代币,否则直接跳过,可以填wsol 和usdc
166+
- "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
167+
168+
169+
170+
# 程序控制相关配置
171+
bot_config:
172+
only_quote_dexs: [] # 只允许交易这些dex,这个优先级最高,一般不要配置
173+
# - "TesseraV"
174+
# - "HumidiFi"
175+
enable_reverse_trade: true # 是否开启反向交易,也就是如果正向quote没有利润的话,那么就反向quote来交易,增加机会的发现率,默认false
176+
enable_random_base_mint: false# 是否开启随机base mint,如果开启,那么会随机选择一个base mint进行交易,概率为usdc或者wsol
177+
enable_sandwich_mitigation: true # 是否开启三明治保护,如果开启那么就不能使用单独小费钱包Bundle: [其他交易, 你的保护交易] ❌ 整个 bundle 被拒绝
178+
over_trade_process_delay_ms: 0 # 程序控制,所有交易额处理一遍后延时xx ms ,默认为0
179+
static_tip_config:
180+
enable_random: true # 是否开启随机小费,如果开启,那么会发送所有交易额的随机小费比率
181+
static_tip_percentage: 0.75 # 如果不允许random 的情况下,那么只发送此小费比率
182+
random_percentage: # 如果开启random 的情况下,那么会发送所有交易额的随机小费比率的交易
183+
- 0.5
184+
- 0.7
185+
- 0.8
186+
187+
# 盲发配置信息
188+
blind_config:
189+
only_quote_dexs: []
190+
enabled: false
191+
dynamic_au_jito_tip: false # 如果开启了,那么会自动订阅jito 的当前tip,否则使用静态小费
192+
log_jito_tip_update: true # 是否打印jito tip数据
193+
static_jito_tip: # 单位为lamports
194+
- 305184
195+
- 145252
196+
- 225847
197+
dynamic_jito_tip_percentile: # 如果开启了,那么会自动订阅jito 的当前tip,P25,P50,P75,EMA_P50,按照实时tip进行盲发
198+
- "P95"
199+
- "P99"
200+
201+
# 垃圾邮件策略,如果开启,并且达到相关触发值的话那么会启用垃圾邮件策略,所有的节点将都发送这个交易
202+
spam_config: # 垃圾交易相关配置
203+
enabled: true
204+
enable_trade_log: true
205+
skip_preflight: true # 是否跳过预检
206+
node1_config: # 服务商node1配置 目前一定要配置这个,还有点问题,没有完全解决,配置后续还需要再改动一下
207+
enable: true # 是否开启
208+
only_back_run_active: false # 是否只有back run 激活的时候才发送交易
209+
url: "https://ams.node1.me"
210+
api_key: "xxxx"
211+
trigger_mint_profit_sol: 0.1 # 触发垃圾交易的利润阈值(SOL),会自动转换为lamports
212+
gas_amount_sol: 0.002 # Gas费用(SOL),会自动转换为lamports
213+
compute_unit_price_sol: 0.000001 # 本次交易正常gas 消耗为多少sol,会自动根据cu 计算出lamports
214+
helius_config: # 服务商helius配置
215+
enable: true # 是否开启
216+
only_back_run_active: false # 是否只有back run 激活的时候才发送交易
217+
url: "http://ams-sender.helius-rpc.com/fast"
218+
trigger_mint_profit_sol: 0.1 # 触发垃圾交易的利润阈值(SOL),会自动转换为lamports
219+
gas_amount_sol: 0.002 # Gas费用(SOL),会自动转换为lamports
220+
compute_unit_price_sol: 0.000001 # 本次交易正常gas 消耗为多少sol,会自动根据cu 计算出lamports
221+
astralane_config: # 服务商astralane配置
222+
enable: true # 是否开启
223+
only_back_run_active: false # 是否只有back run 激活的时候才发送交易
224+
url: "http://ams.gateway.astralane.io/iris?api-key=xxxxxxx"
225+
trigger_mint_profit_sol: 0.1 # 触发垃圾交易的利润阈值(SOL),会自动转换为lamports
226+
gas_amount_sol: 0.002 # Gas费用(SOL),会自动转换为lamports
227+
compute_unit_price_sol: 0.000001 # 本次交易正常gas 消耗为多少sol,会自动根据cu 计算出lamports
228+
229+
normal_rpc_config: # 普通rpc配置,所有rpc 都会发送相同的一个交易,进行并行发送
230+
enable: false # 是否开启
231+
only_back_run_active: false # 是否只有back run 激活的时候才发送交易
232+
compute_unit_price_sol: 0.000001 # 本次交易正常gas 消耗为多少sol,会自动根据cu 计算出lamports
233+
trigger_mint_profit_sol: 0.2 # 触发垃圾交易的利润阈值(SOL),会自动转换为lamports
234+
rpcs:
235+
- "https://mainnet.helius-rpc.com/?api-key=xxxxxx"
236+
237+
# Nonce 账户配置,用于支持高频交易,多swqos 并发,最后只会有一笔gas 损失,如果开启spam策略建议打开
238+
nonce_config:
239+
enabled: true # 是否启用 nonce 功能
240+
max_accounts: 3 # 最大nonce账户数量,如果启用且不足时会自动创建,并保存到本地文件
241+
242+
243+
# 大单策略,如果开启,那么会启用大单策略,大单策略会根据利润阈值进行交易
244+
big_profit_strategy:
245+
enabled: false
246+
trigger_mint_profit: 0.1 # 单位是sol,会自动转换为lamports
247+
repeat_send_times: 2 # 发现大单后,重复发送交易的次数,因为有些交易可能呗ratelimit,多发大单没什么问题
248+
249+
250+

run-jup.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,9 @@ generate_jupiter_command() {
103103
cmd+=" --allow-circular-arbitrage"
104104
cmd+=" --enable-new-dexes"
105105
cmd+=" --expose-quote-and-simulate"
106-
106+
# 启动健康检查
107+
cmd+=" --enable-markets --enable-tokens"
108+
cmd+=" --metrics-port 18081"
107109
# 添加 Yellowstone 配置
108110
if [ -n "$yellowstone_url" ]; then
109111
cmd+=" --yellowstone-grpc-endpoint $yellowstone_url"

rust-mev-bot

3.66 MB
Binary file not shown.

0 commit comments

Comments
 (0)