• 【WAX链游】发布一个免费开源的Alien Worlds【外星世界】合约脚本TLM


    前言

    《链游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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    公共节点列表: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】配置文件更愉快

    cmderhttps://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日)

    1. 优化logger,允许每个账号的日志输出到不同的文件
    2. 从代码中移除 eosapi 源文件,直接从 pip 下载该库
    3. 增加账户可用的CPU资源判断,如果CPU不足则不会冒然尝试提交交易,减少因频繁提交错误交易被节点拉黑的概率
    4. 注意,由于外星世界官方于2022年10月更新了智能合约,阻止代付行为,所以代付功能失效
  • 相关阅读:
    七月集训(第20天) —— 二叉搜索树
    MYSQL中AS(取别名)
    springcloud下的nacos集群与gateway网关
    利用GitHub实现域名跳转
    CSS逻辑组合伪类
    【微服务】关于WSGI Server即web服务器
    VsFtpd的环境搭建,虚拟登录,Linux服务器
    Android 应用启动过程优化
    FullCalendarDemo5 控件的实例讲解—拖拽实现值班排班(二)
    课时七—进程同步(一)
  • 原文地址:https://blog.csdn.net/CharlesSimonyi/article/details/128088603