Skip to content

Latest commit

 

History

History
103 lines (93 loc) · 8.51 KB

ConfigFileDetails-zhCN.md

File metadata and controls

103 lines (93 loc) · 8.51 KB

BTCAgent 配置文件详解

English Version/英文版本

所有选项

{
    "multi_user_mode": true,
    "agent_type": "btc",
    "always_keep_downconn": false,
    "disconnect_when_lost_asicboost": true,
    "use_ip_as_worker_name": false,
    "ip_worker_name_format": "{1}x{2}x{3}x{4}",
    "fixed_worker_name": "",
    "submit_response_from_server": false,
    "agent_listen_ip": "0.0.0.0",
    "agent_listen_port": 3333,
    "proxy": [],
    "direct_connect_with_proxy": false,
    "direct_connect_after_proxy": true,
    "pool_use_tls": false,
    "pools": [
        ["us.ss.btc.com", 1800, "YourSubAccountName"],
        ["us.ss.btc.com", 443, "YourSubAccountName"],
        ["us.ss.btc.com", 3333, "YourSubAccountName"]
    ]
}

注意:选项http_debugadvanced是为开发人员预留的。除非知道用途,否则不应该调整这些选项。目前没有为这些选项编写文档。

你可以从配置文件中删除http_debugadvanced配置节,不会影响程序的功能。但是,随意调整这些选项可能会导致程序无法正常运行。

选项列表

配置项 名称 使用说明
multi_user_mode 多用户模式 开启多用户模式后,在矿机名里指定的子账户名将被使用。如果关闭多用户模式,您在此处填写的子账户名将被使用。

举例:

如果开启多用户模式,你连接矿机名为“aaa.bbb”的矿机到智能代理,那么矿机“bbb”的算力就会进入子账户“aaa”。

如果关闭多用户模式,并且你在智能代理中填写了子账户名“ccc”,那么你再连接矿机“aaa.bbb”时,它的算力就会进入子账户“ccc”,矿机名里的子账户“aaa”会被忽略。
agent_type 代理类型 保留用于未来支持其他币种,目前只能为"btc"。如果你手动编写配置文件,建议直接省略该选项。
always_keep_downconn 矿池断开时向矿机发送虚假任务 正常情况下,如果智能代理与矿池服务器断开连接,它会停止向矿机发送任务,然后矿机收不到任务,就会切换到备用池。

但是如果您遇到外网故障,矿机也就连不上备用池,一段时间后矿机就会停止挖矿。在某些环境中,矿机突然停止挖矿可能会导致矿机损坏,或者在网络恢复正常后矿机无法自行恢复挖矿(比如因为温度太低而无法启动)。此时您就可以启用该选项。

启用该选项后,如果智能代理与矿池服务器断开连接,它不会停止向矿机发送任务,而是会产生一些虚假任务发送给矿机,这样矿机就能持续挖矿。等网络恢复后,智能代理就可以向矿机发送真实任务了。

但是请注意:虚假任务产生的算力不会提交到矿池(就算提交也只是徒增拒绝率),所以也无法产生收益。并且,如果智能代理是矿机的首选矿池,那么启用该选项也会让矿机失去切换到备用池的机会,因为在它看来,首选矿池始终是活跃的。
disconnect_when_lost_asicboost 自动重连ASICBoost失效的矿机 某些支持ASICBoost的矿机,在挖矿过程中ASICBoost可能会突然失效,这会导致矿机算力降低,或者功耗上升。

启用该选项可以让智能代理自动断开这些矿机的连接,矿机会立即自动重连,并且重连后ASICBoost通常可以恢复正常。

建议始终启用该选项,因为它没有什么副作用。就算矿机不支持ASICBoost,启用该选项也不会导致任何问题。
use_ip_as_worker_name 使用矿机IP作为矿机名 启用该选项可以让智能代理把矿机的IP地址作为矿机名,填写在矿机控制面板中的矿机名会被忽略。

例如,IP地址为“192.168.1.23”的矿机,矿机名就会变成“192x168x1x23”。矿机名的具体格式可以通过ip_worker_name_format选项设置。
ip_worker_name_format IP地址矿机名的格式 设置IP地址矿机名的格式。

可用变量:
{1} 表示IP地址的第一段。
{2} 表示IP地址的第二段。
{3} 表示IP地址的第三段。
{4} 表示IP地址的第四段。

举例:
{1}x{2}x{3}x{4}
IP地址“192.168.1.23”的矿机名为“192x168x1x23”。

{2}x{3}x{4}
IP地址“192.168.1.23”的矿机名为“168x1x23”。

{3}x{4}
IP地址“192.168.1.23”的矿机名为“1x23”。
fixed_worker_name [高级选项]
使用固定矿机名
把所有矿机的矿机名都设为同一个值,这会模拟传统Stratum代理的行为,让矿池认为连接到BTCAgent的所有矿机都是同一台矿机。

留空(值设为"")或者省略该选项可以禁用这个功能。
submit_response_from_server [高级选项]
向矿机发送矿池响应
向矿机发送矿池服务器的真实响应。

如果该选项未启用,智能代理在收到矿机提交后会立即发送“成功”响应,这样一来,矿机控制面板的“拒绝率”就会始终为0。

如果想在矿机控制面板看到真实拒绝率,可以启用该选项。但是启用该选项可能会增加网络带宽开销以及提交延迟。
agent_listen_ip BTCAgent监听IP BTCAgent代理的监听IP,矿机需要通过这个IP来连接到代理。需要填写已经分配给运行代理的电脑的IP,或者填写0.0.0.0。建议填写0.0.0.0,它表示“所有可用的IP”。
agent_listen_port BTCAgent监听端口 BTCAgent代理的监听端口,矿机需要通过这个端口来连接到代理。如果你在同一台电脑上运行多个代理,每个代理的端口都应该不同。

可用的端口范围是1到65535,但是建议使用2000到5000范围内的端口。因为使用低于1024的端口需要root权限(管理员权限),高于5000的端口容易被其他程序随机占用。
proxy 网络代理 在连接矿池时使用的网络代理。

字符串数组,每个字符串为一个代理,最快的将被使用。

查看下面的“使用网络代理”小节来了解代理字符串的格式。
use_proxy 是否使用网络代理 网络代理的开关,默认为true(如果网络代理不为空就会使用)。设为false可禁用网络代理。
direct_connect_with_proxy 直连比代理快时使用直连 在通过代理连接矿池的同时也会尝试直连矿池(不通过代理),如果直连更快就会使用直连,如果无法直连矿池或者直连更慢就会使用代理。
direct_connect_after_proxy 代理连接失败时使用直连 如果无法通过代理连接到矿池,就会尝试直连,可以避免代理故障时无法连接到矿池。当然你也可以设置多个代理来减少故障的可能性。
pool_use_tls 连接矿池时启用SSL/TLS加密 连接到SSL/TLS加密的矿池服务器,防止中间人进行网络窃听。

注意:支持SSL/TLS加密的矿池服务器的地址和端口与普通服务器不同,如果您填写的矿池地址端口不支持SSL/TLS加密,启用该选项会导致智能代理连不上矿池。

此外,启用该选项只会加密到矿池的连接,不会加密到矿机的连接,所以不需要修改矿机的设置。
pools 矿池地址、端口、子账户名 [
    ["矿池地址1", 矿池端口1, "子账户名1"],
    ["矿池地址2", 矿池端口2, "子账户名2"],
    ["矿池地址3", 矿池端口3, "子账户名3"]
]

使用网络代理

agent_conf.json配置文件中可设置连接矿池时使用的网络代理:

  • socks5 代理
    "proxy": [
       "socks5://127.0.0.1:1089"
    ],
    
  • http 代理
    "proxy": [
       "http://127.0.0.1:8889"
    ],
    
  • https 代理 (即 SSL/TLS 加密的 HTTP 代理)
    "proxy": [
       "https://127.0.0.1:4433"
    ],
    
  • 从系统环境变量中发现代理
    "proxy": [
       "system"
    ],
    
  • 禁用代理
    "proxy": [],
    
  • 设置多个代理,最快的将被使用
    "proxy": [
       "socks5://127.0.0.1:1089",
       "socks5://192.168.1.1:1089",
       "http://127.0.0.1:8889"
    ],
    
  • 使用需要用户名密码认证的代理
    "proxy": [
       "socks5://username:[email protected]:1089",
       "http://username:[email protected]:8889",
       "https://username:[email protected]:4433"
    ],