前言
《链游Farmers World【农民世界】爆火,发布一个免费开源的脚本》
在之前的文章中,我们分享了一个开源的农民世界(Farmers World)脚本
【OpenFarmer】:https://github.com/encoderlee/OpenFarmer
经过这段时间以来的不断学习,我们开发出了外星世界(Alien Worlds)的脚本
【OpenAlien】:https://github.com/encoderlee/OpenAlien
技术更新
两者的实现原理都差不多,但这次的【OpenAlien】和之前的 【OpenFarmer】相比,本次开源的【OpenFarmer】有两个更新要点:
1.彻底让wax云钱包账号脱离了Chrome浏览器运行,采用提取Token的方式直接发HTTP请求签名
2.底层的 EOSIO SDK 由原来的
【eospy】: https://github.com/eosnewyork/eospy
换成了我们自己开发的
【eosapi】: https://github.com/encoderlee/eosapi
支持交易的序列化,优化了错误处理,以前发送交易出错的时候,没有明确的区分错误类型,现在【OpenAlien】可以处理不同类型的错误并给出提示,尤其是节点错误的处理,避免频繁重试导致IP和账号被节点拉黑。
用法
使用方法一:
在github页面右侧的【Releases】里下载最新版打包版本,打包版本只支持Win10或更高版本的操作系统。
把压缩包里的文件解压出来,先修改配置文件【user.yml】,再双击运行【user.bat】
多开第二个账号,复制【user.yml】为【user2.yml】,复制【user.bat】为【user2.bat】
修改配置文件【user2.yml】为第二个账户的信息,修改【user2.bat】文件,把里面的字符串“user.yml”改为“user2.yml”,然后双击运行【user2.bat】
多开更多账号,以此类推
使用方法二:
1.从源码运行,先安装 Python 环境,推荐安装 Python 3.9.13 版本,因为这是我们测试过的版本
下载地址:https://www.python.org/ftp/python/3.9.13/python-3.9.13-amd64.exe
安装时记得勾选“Add Python 3.9 to PATH”
2.下载源码,在 github 项目页面上点击绿色按钮【Code】,【Download ZIP】,下载后解压出来
3.双击运行【install_dependencies.bat】安装依赖包,这个步骤每台电脑只需做一次
4.先修改配置文件【user.yml】,再双击运行【user.bat】
5.多开方法和上面一样,就是复制这两个文件,修改后运行
配置文件说明
#注意,每个参数名的冒号后面,都有一个空格,修改参数不要丢了空格
# wax节点地址,使用公共节点,有时候会网络不通,或者访问太频繁被限制,出现429错误,可以换节点,或者搭建私有节点
# 公共节点列表:https://wax.eosio.online/endpoints
rpc_domain: https://wax.pink.gg
# cpu代付号,cpu_key填写该代付号私钥,不需要代付则留空
# 注意,由于外星世界官方于2022年10月更新了智能合约,阻止代付行为,所以代付功能失效
cpu_account:
cpu_key:
# 即使可挖时间到了,也延迟20-60秒再挖
delay1: 20
delay2: 60
# http代理(比如127.0.0.1:10808)
# 给脚本设置HTTP代理,这样可以在一定程度上解决公共节点限制访问的问题,不需要则留空
proxy:
proxy_username:
proxy_password:
# 下面三项改为你的账号信息
# account是wax云钱包账号名
# token是什么,先在chrome浏览器中手工登录WAX云钱包 https://wallet.wax.io/dashboard
# 然后在chrome浏览器中输入地址导航到: https://all-access.wax.io/api/session
# 把token复制出来填到下面
# charge_time是采集间隔,单位秒,登录alienworlds官网,打开工具页面,就可以看到,按实际情况填写
account: gts3c.c.wam
token: EHuyFHPcLpSNUJ4BLSUnPxxxxxxxxxxxx
charge_time: 336
公共节点列表:https://wax.eosio.online/endpoints
注意,从 Chrome 浏览器中复制出 token 后,浏览器可以点右上角叉叉关闭,但不要点退出登录该账号,也不要直接重新登录另外一个账号,不然之前的账号会掉线。
如果需要在 Chrome 中登录第二个账号,请使用 Chrome 的多用户功能登录
Chrome 多用户相关文章:https://www.chensnotes.com/chrome-profile.html
常用工具
【nodepad++】https://notepad-plus-plus.org/downloads/v8.4.2
文本编辑器,编辑修改【user.yml】配置文件更愉快
【cmder】https://cmder.net
替代 windows 自带的 cmd 命令行工具,防止脚本假死
系统自带的 cmd 命令行工具,默认开启快速编辑模式,有时候因为鼠标键盘意外操作,
日志会留在一个地方,处于假死状态,导致脚本不能持续运行,换用【cmder】解决该问题
常见错误
1.交易错误
交易错误的原因有很多种,比如智能合约报错,CPU不足,秘钥不对,WAX节点限制等
连续出现5次交易出错,脚本将停止,此时需要手工检查问题或更换节点
为什么不一直继续反复重试?因为反复提交错误的交易,公共节点就会把你拉黑,需要24小时之后才能使用该节点了
自行架设 WAX 私有节点,会在一定程度上改善此问题
2.节点错误
节点错误,尤其是 429 错误,主要是因为你一个IP下面同时跑的号太多了,请求频繁,被节点拉黑
公共节点毕竟是面向全球的免费服务,为了防止滥用,做了很多限制
每N个号设置一个代理IP,或者自行架设 WAX 私有节点,会在一定程度上改善此问题
欢迎打赏
wax钱包地址:
m45yy.wam
更新记录
v1.1 (2022年11月8日)
- 优化logger,允许每个账号的日志输出到不同的文件
- 从代码中移除 eosapi 源文件,直接从 pip 下载该库
- 增加账户可用的CPU资源判断,如果CPU不足则不会冒然尝试提交交易,减少因频繁提交错误交易被节点拉黑的概率
- 注意,由于外星世界官方于2022年10月更新了智能合约,阻止代付行为,所以代付功能失效