跳转至

参考

使用

Bminer在命令行中支持以下操作。您可以运行 bminer -help来得到全部选项。

选项
默认 描述
-api string null Bminer服务的REST API端口。 例如 127.0.0.1:1880。 未指明时,REST API是关闭的。
-devices value null Bminer运行的GPU设备的ID列表。若未规定,则Bminer会运行在所有的CUDA设备上。
-failover value immediateNext Bminer在提供多个挖掘URI时的故障转移策略。 Bminer会尝试重新连接到下一个或者随机选择一个可用的矿池。目前支持的策略为:sameHost(重试当前URI), immediateNext(连接下一个URI) 以及 random(随机选择一个URI)。
-gpucheck uint 90 Bminer检查CUDA设备是否已经挂了的时间间隔(单位:秒)。设置为0以禁用检查。
-logfile string null 输出日志到文件。
-max-network-failures -1 Bminer尝试从网络失败中重试的最大次数。默认-1会一直重试。
-max-temperature int 85 GPU的温度的最高限制。当温度超过设备限制,Bminer的运行速度会降低。
-no-runtime-info 禁止Bminer收集运行信息。
-no-timestamps 删除日志消息中的时间戳。
-nofee 禁用费用,但也禁用了一些优化。
-pers BgoldPoW 为 Equihash 144,5 算法币种自定义参数字段,可以设置为auto。
-share-check 900 Bminer检查是否过去一段时间有已接受解的数量的时间间隔(单位:秒)。设置为0会禁用该项检查。
-strict-secure 连接到启用SSL的Stratum服务器时验证服务器的证书。 默认是关闭的。
-uri value Bminer应该挖掘的URI列表(逗号分隔)。 它的格式是 <scheme>://<username>[:<password>]@<host>:<port>。注意,对于多URI列表挖掘,<scheme>必须一致。
-uri2 value Bminer双挖的第二种币连的矿池URI列表,用逗号分隔URI有固定格式,即:<scheme>://<username>[:<password>]@<host>:<port>。目前Bminer支持Scheme blake14r:// blake2s://,作为以太坊双挖时候的第二Scheme。
-dual-subsolver int -1 双挖子求解程序,有效值是0,1,2,3。默认是-1,即自动调整。
-dual-intensity int 0 第二币种挖矿强度. 有效值是 0 到 300. 默认为 0, 即自动调整。
-watchdog true 自动从挂的GPU中重启恢复。如果watchdog被禁用,Bminer会在出现错误的情况下退出。

指定 URI

Bminer通过URI来配置矿池和用户信息。URI的格式为 <scheme>://<username>[:<password>]@<host>:<port>。根据RFC 3986标准,scheme指定了工作量证明(PoW)算法以及网络协议。以下为Bminer支持的PoW算法和网络协议:

PoW 算法 网络协议 协议
* Equihash Stratum stratum://
* Equihash Stratum over SSL stratum+ssl://
* Equihash 144,5 Stratum equihash1445://
* Equihash 144,5 Stratum over SSL equihash1445+ssl://
* Zhash Stratum zhash://
* Zhash Stratum over SSL zhash+ssl://
* Ethash Stratum ethash://
* Ethash Stratum over SSL ethash+ssl://
* Ethash Ethereum Proxy ethproxy://
* Ethash Ethereum Stratum ethstratum://
* Blake14r (secondary) Stratum blake14r://
* Blake2s (secondary) Stratum blake2s://
* Tensority Stratum tensority://
* Tensority Stratum over SSL tensority+ssl://

Bminer可以通过设置多个URI列表(逗号分隔)来支持多矿池故障转移。 例如,使用Flypool作为主要矿池,以nanopool作为备选项,你可以使用以下命令。

./bminer -uri stratum://[email protected]:3333,
stratum://[email protected]:6666

数据界面和应用程序编程接口(API)

Bminer提供了一个基于网页的界面来监测miner的健康状况。界面与管理API使用相同的地址。 例如,如果您在127.0.0.1:1880处启用了API,则可以访问位于http://127.0.0.1:1880的数据界面。

以下是界面的屏幕截图:

Screenshot


Bminer还提供了应用程序编程接口(API)来实现自动化的大规模部署。

GET /api/status (只对单挖模式有效)

提供了Bminer当前状态的概览。

样例值:

{
  "stratum": {
    "accepted_shares": 1,
    "rejected_shares": 0,
    "accepted_share_rate": 0.01,
    "rejected_share_rate": 0
  },
  "miners": {
    "0": {
      "solver": {
        "solution_rate": 535.6,
        "nonce_rate": 287.07
      },
      "device": {
        "temperature": 45,
        "power": 255,
        "fan_speed": 51,
        "global_memory_used": 828,
        "utilization": {
          "gpu": 100,
          "memory": 84
        },
        "clocks": {
          "core": 1885,
          "memory": 5005
        },
        "pci": {
          "bar1_used": 2,
          "rx_throughput": 22,
          "tx_throughput": 6
        }
      }
    }
  },
  "version": "v5.1.0-6b8803e",
  "start_time": 1516502494
}

从8.0.0版本开始,我们对solvers,devices,以及stratums字段都提供了单独的API。

GET /api/v1/status/solver (仅支持8.0.0之后的版本)

equihash的一个例子:

{
  "devices": {
    "0": {
      "solvers": [
        {
          "algorithm": "equihash",
          "speed_info": {
            "nonce_rate": 359.27,
            "solution_rate": 677.53
          }
        }
      ]
    }
  }
}

dual mining的例子:

{
  "devices": {
    "0": {
      "solvers": [
        {
          "algorithm": "ethash",
          "speed_info": {
            "hash_rate": 30828134.4
          }
        },
        {
          "algorithm": "blake2s",
          "speed_info": {
            "hash_rate": 1778500208.17
          }
        }
      ]
    }
  }
}

GET /api/v1/status/device (仅支持8.0.0之后的版本)

例子:

{
  "devices": {
    "0": {
      "temperature": 83,
      "power": 199,
      "fan_speed": 74,
      "global_memory_used": 4385,
      "utilization": {
        "gpu": 100,
        "memory": 73
      },
      "clocks": {
        "core": 1809,
        "memory": 5005
      }
    }
  }
}

GET /api/v1/status/stratum (仅支持8.0.0之后的版本)

dual mining的例子:

{
  "stratums": {
    "blake2s": {
      "failover_uris": [
        {
          "name": "blake2s://DDXKDhq73GRM3hjh6uee57fJ3LS2ctNtyi.my:c=XVG,[email protected]:5766",
          "active": true
        }
      ],
      "accepted_shares": 1,
      "rejected_shares": 0,
      "accepted_share_rate": 0.02,
      "rejected_share_rate": 0
    },
    "ethash": {
      "failover_uris": [
        {
          "name": "ethproxy://[email protected]ans.org:3333/",
          "active": true
        }
      ],
      "accepted_shares": 2,
      "rejected_shares": 0,
      "accepted_share_rate": 0.01,
      "rejected_share_rate": 0
    }
  }
}

这些字段的语义如下:

名称
类型 描述
stratum object Stratum客户端的信息。
failover_uris object 一个准备挖矿的uris序列。
name string uri的名字
active boolean 判断当前URI是否是被用来挖矿的状态。
accepted_shares integer Stratum服务器接受的share的数量。
rejected_shares integer Stratum服务器拒绝的share的数量。
accepted_shares_rate number 每秒被接受的share的数量。
rejected_shares_rate number 每秒被拒绝的share的数量。
miners object 所有正在运行的CUDA设备ID对应的Miner状态。
devices object 所有正在运行的CUDA设备ID对应的Miner状态。
solver object Equihash求解器的统计信息。
solvers object 在设备上运行的求解序列。
algorithm string 一个求解程序的算法名。
speed_info object 一个求解程序的速度指标。
hash_rate number 算力数 (H/s)
solution_rate number 发现Equihash解决方案的数量。(解/秒)
nonce_rate number Equihash评估的随机数。(I/s)
device object CUDA设备的统计信息。
temperature integer CUDA设备的温度。(℃)
power integer CUDA设备使用的电量。(瓦特)
fan_speed integer CUDA设备的风扇速率的百分比形式。例如,满速度是100%。
global_memory_used integer CUDA设备上使用的内存。
utilization object CUDA设备的使用统计信息。
gpu integer GPU的使用率,0-100。
memory integer 内存利用率,0-100。
clocks object CUDA设备的时钟频率。
core integer GPU核心的频率。(MHz)
memory integer GPU内存的频率。(MHz)
pci object PCI-e总线的使用信息。
bar1_used integer BAR1内存使用量。
rx_throughput integer 从PCI-e总线接收的数据的吞吐量。(MB/s)
tx_throughput integer 从PCI-e总线发送的数据的吞吐量。(MB/s)
version string Bminer的版本。
start_time integer Bminer的启动时间, in UNIX 时间