如果说散户手撸党属于农耕社会的话,脚本工作室应该算是工业革命,而我们的自动化撸毛系统可以算是核武器了。
原文作者:sunlc.eth.lens
原文来源:Twitter@sunlc_crypto
如果说散户手撸党属于农耕社会的话,脚本工作室应该算是工业革命,而我们的自动化撸毛系统可以算是核武器了。
一、需求和痛点
开发一个系统最重要的不是技术而是充分了解需求和痛点。
在整个系统的开发过程中,我也向很多行业的大佬请教学习,了解了各种团队的运作模式和痛点,也学习了不少好的策略。
手撸工作室的痛点:
1、人力成本、设备成本高昂
2、管理成本高:包括新项目的培训、每天任务的验收等等。
3、资金安全:被人盗走怎么办、人工误操作也可能造成损失。虽然可以通过阉割小狐狸钱包等方式解决,但是治标不治本,不敢上大资金。
4、操作模式同质化、操作时间集中等等。
脚本工作室的痛点:
1、资金安全:大部分私钥都是明文或者简单加密保存的,安全性很低,也不敢上大资金
2、脚本比较同质化,灵活性不够
3、没有完善的管理系统,运营管理的难度较大
4、大部分都是通过selenium模拟前端点击: 脚本开发效率低,每个项目都得重新开发。而且比较吃服务器和带宽
总结起来主要就是:提高资金安全性、降低运营管理和人力成本、降低服务器等的消耗和成本、提高策略的丰富程度(让每个钱包的操作都独一无二,像一个独立的人)、简化脚本和策略的开发难度
结合我们团队的实际需求出发,我们觉得安全性的优先级最高,因为我们都是精品号策略,而且账号数量大。以团队5个人,每个项目人均1000个账号为例,像zksync就算我们每个账号留存最低的0.2E,一个项目5000个号就得1000E了。这些长期保存在服务器上,必须确保安全。
其次是降低人力成本,能做到完全自动运行无人值守。
最后是简化策略和脚本的开发难度,做到90%以上可配置化,开发一个脚本只需要5分钟。
二、系统的架构
基于以上的需求和痛点,我们设计的系统架构如下,主要分几个模块:
1、私钥中心:
考虑到我们大资金安全的问题,当然也是考虑到服务器成本原因,我们除私钥中心数据库以外的服务器全部是放在办公室的自建服务器上,平均5000元一台的服务器至少可以同时运行10000个脚本,性价比极高。 所有的私钥通过双重加密后,存在在阿里云的私钥服务器中,脚本服务器每次执行任务时连接私钥服务器解密后才能使用,而且密码只有本人知道。
脚本服务器和私钥服务器之间也有白名单等安全措施,无论是脚本服务器或者私钥服务器单独被黑都不会泄密,安全级别基本等同于现在外面一些MPC钱包。
2、资产管理中心:
这里的资产指的是包括IP、推特、DC、邮箱、充值地址等信息,每一个撸毛账号对应一套完全独立的资产,根据不同的任务进行分配,实现100%的隔离和防女巫。
3、网络管理中心:
网络也是我们花了很多时间摸索和优化的地方。外面买的IP不管花多少钱,其实在国内的连接速度普遍都不快。大家买过IP的都知道,在指纹浏览器里连接打开一个网页都要好几秒钟。
而我们买的又是最便宜的1000个IP才100U一个月。 所以我们做了一个牛逼的路由架构,办公室的企业宽带连接一个负载均衡的自建机场集群,再连接这些IP,速度和稳定性大大提升,成本又极低。
4、任务调度中心:
任务调度中心也是这套系统的核心之一。大部分代撸的脚本,所谓防女巫就是在脚本运行之间加一些随机变量和随机等待而已,逻辑非常简陋和粗糙,运行时也需要人值守。
我们基于网上一套开源的任务调度框架,开发了一个适合撸毛的调度中心,可以做到7*24小时无人值守运行,任意的错误都有断点重做等功能,而且支持并行任务和串行任务两种模式。
都拿1000个钱包举例:
所谓并行任务是指,这1000个钱包配置好每周执行各执行5次链上交互, 就是完全随机分散在一周的合适时间点自动执行,而且可以挑选GAS最低的时候执行(比如设置主网GAS 20以下做,否则等待)。
串行任务适合大资金,比如每个钱包每月走一次100E的资金量,那如果并行的话需要1000*100的E,显然不可能有这么多钱。
那就可以通过串行模式,第一个钱包从交易所提币、跨链、链上一系列交互、跨链回来、充回交易所,然后再继续执行下一个,中间有任何问题都有异常处理机制。
把并行模式和串行模式结合起来,可以组合出非常丰富的交互策略。
而且在基础脚本开发完的基础上,策略的组合仅需要配置json文件和相应的参数就可以了,可以做到后期0开发量。
5、链上脚本开发框架
我做过调研,可以说90%的脚本撸毛工作室,都是通过指纹浏览器模拟前端交互实现的。
相对直接调用合约交互,每个项目都需要开发一套前端脚本,前端交互的速度也非常慢,出错的几率也很大,而且非常吃服务器。
就是你们看到网上很多人晒的几十个窗口的那种。
剩下10%也只是会写一些简单的合约交互脚本,他们对web3的了解程度非常有限。
而我玩DEFI这么多年,可以说对各类项目的合约代码非常熟悉,我们也很早就做了全链DEX的价差监控,把那套框架拿过来一改就可以了。
其实链上的项目主要分三类: DEX、借贷、MINT NFT。
DEX的底层主要是两种,一种基于uniswap V2,一种基于uniswap V3
而对应的Farm功能,也是分两种:早期流行的sushi swap Masterchef模式,和现在流行的solidly VE(3,3)模式。
借贷也主要分两种,一种是基于compound的项目,比如Venus。 一种是基于AAVE的项目,比如Radiant。
MINT NFT或者域名就更简单了,大同小异。
所以只需要把这些功能模块都抽象出来做成组建,就可以像搭乐高一样快速开发了。
目前EVM链或者类EVM链,我们开发一个新项目的时间只需要5分钟做一些参数配置,再花10分钟测试一下即可。
6、前端(selenium)脚本开发框架:
对于大部分web3项目,其实链上交互就足够了。
但是现在有越来越多的项目方不断在pua撸毛党在各种平台比如galxe上做各种任务。
像这次linea一周出30多个任务,别说手撸了,大部分团队连开发脚本都来不及。
因为涉及到各种推特、DC等任务,也不得不用到前端selenium模拟。
所以我们也同步开发了一套了前端框架,将各个功能模块做成组件化,比如推特模块、DC模块等等,再结合链上交互脚本,做成任务平台的可配置化。
可以做到一个galxe的任务,也只需要配置一个json文件,就可以实现自动化执行。
目前这块的完成度大概60%左右,每个模块都有不小的开发量,但是开发好以后就一劳永逸了。
写了这么多,也没办法把系统设计的思路完全讲清楚,但是我相信有基础的同学应该也能收获不少了。