You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加Binance交易所标识后脚本编译超长度限制问题咨询

问题

我有一个用于检查多枚代币的扫描器,为代币添加交易所标识(如Binance)后出现编译错误:

Compilation error. Compiled script code is too long: 66337. The limit is 65000

请问将代币列表存入库中调用能否解决该问题?若不能,还有什么办法可以添加Binance交易所标识且不超出长度限制?

报错前的代币列表

'BTCUSDT'
'ETHUSDT'
'BNBUSDT'
'XRPUSDT'
'ADAUSDT'
'SOLUSDT'
'TRXUSDT'
'DOTUSDT' 
'MATICUSDT'
'AVAXUSDT'
'ATOMUSDT'
'UNIUSDT'
'LTCUSDT'
'LINKUSDT'
'NEARUSDT'
'FTTUSDT'
'BANDUSDT'
'XMRUSDT'
'XLMUSDT'
'BCHUSDT'
'ALGOUSDT'
'FLOWUSDT'
'VETUSDT'
'FILUSDT'
'ICPUSDT'
'APEUSDT'
'EOSUSDT'
'XTZUSDT'
'SANDUSDT'
'QNTUSDT'
'CHZUSDT'
'EGLDUSDT'
'AAVEUSDT'
'THETAUSDT'
'AXSUSDT'

添加交易所标识后的代币列表

'BINANCE:BTCUSDT'
'BINANCE:ETHUSDT'
'BINANCE:BNBUSDT'
'BINANCE:XRPUSDT'
'BINANCE:ADAUSDT'
'BINANCE:SOLUSDT'
'BINANCE:TRXUSDT'
'BINANCE:DOTUSDT' 
'BINANCE:MATICUSDT'
'BINANCE:AVAXUSDT'
'BINANCE:ATOMUSDT'
'BINANCE:UNIUSDT'
'BINANCE:LTCUSDT'
'BINANCE:LINKUSDT'
'BINANCE:NEARUSDT'
'BINANCE:FTTUSDT'
'BINANCE:BANDUSDT'
'BINANCE:XMRUSDT'
'BINANCE:XLMUSDT'
'BINANCE:BCHUSDT'
'BINANCE:ALGOUSDT'
'BINANCE:FLOWUSDT'
'BINANCE:VETUSDT'
'BINANCE:FILUSDT'
'BINANCE:ICPUSDT'
'BINANCE:APEUSDT'
'BINANCE:EOSUSDT'
'BINANCE:XTZUSDT'
'BINANCE:SANDUSDT'
'BINANCE:QNTUSDT'
'BINANCE:CHZUSDT'
'BINANCE:EGLDUSDT'
'BINANCE:AAVEUSDT'
'BINANCE:THETAUSDT'
'BINANCE:AXSUSDT'

解答

1. 代币列表存入库中调用能否解决?

能。将硬编码的代币列表转移到数据库或外部配置文件后,编译时只会包含读取数据的逻辑代码,不会把所有带前缀的代币字符串打包进编译结果,能大幅压缩编译后的代码长度,直接解决超限问题。

2. 其他替代方案

如果暂时不想接入数据库,可尝试以下方法:

  • 统一添加前缀:保留原始短代币列表,在代码中通过循环批量添加BINANCE:前缀,示例代码:
    base_symbols = ['BTCUSDT', 'ETHUSDT', ...]  # 原始短列表
    binance_symbols = [f'BINANCE:{symbol}' for symbol in base_symbols]
    
    这种方式编译后的代码长度和原短列表几乎一致,仅新增少量循环处理逻辑,不会触发长度超限。
  • 缩短交易所标识:若平台支持,用更短的前缀替代BINANCE:(比如BN:),每个代币仅增加3个字符,总长度增量大幅降低,可能刚好控制在限制内。
  • 拆分扫描脚本:将扫描器拆分为多个子脚本,每个脚本负责一部分代币的检查,分散单个脚本的编译后长度,避免超限。

内容的提问来源于stack exchange,提问作者QuickSilvain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 18:10:47