#nano #dedicated #cryptocurrency #generation #difficulty #command #server

app nano-work-server

为Nano加密货币定制的专用工作服务器

9个版本

0.3.1 2022年11月30日
0.1.7 2018年12月12日
0.1.6 2018年5月8日

#1799 in 魔法豆

每月下载 23次

BSD-2-Clause

40KB
834

Nano工作服务器

Build

本项目是针对Nano加密货币的专用工作服务器。有关工作生成和当前网络难度的详细信息,请参阅文档

nano-work-server 支持 Nano RPC 中的 work_generatework_cancelwork_validate 命令。有关这些命令的详细信息,请参阅 Nano RPC 文档

要查看可用的命令行选项,请运行 nano-work-server --help

如果使用多个工作节点,请使用标志 --shuffle。这会使得下一次请求是随机选择而不是顺序选择,这有助于在多个节点上更有效地生成工作,尤其是在它们不在同一网络中时。

当前基础难度

0xfffffff800000000a75d984 以来。有关更多信息,请参阅Nano工作生成指南

安装

OpenCL

Ubuntu

sudo apt install ocl-icd-opencl-dev

Fedora

sudo dnf install ocl-icd-devel

Windows

Rust

Linux

curl https://sh.rustup.rs -sSf | sh

Windows:请遵循https://www.rust-lang.net.cn/tools/install中的说明

GCC

Ubuntu

sudo apt install gcc

Fedora

sudo dnf install gcc

构建

git clone https://github.com/nanocurrency/nano-work-server.git
cd nano-work-server
cargo build --release

根据您的系统配置,如果OpenCL库在PATH中找不到,可能需要显式链接。

cargo rustc --release -- -l OpenCL -L "/path/to/opencl.lib"

使用

nano-工作-服务器--帮助

注意这些示例中的难度值可能已过时。

  • work_generate 示例

    {
        "action": "work_generate",
        "hash": "718CC2121C3E641059BC1C2CFC45666C99E8AE922F7A807B7D07B62C995D79E2",
        "difficulty": "ffffffc000000000",
        "multiplier": "1.0" // overrides difficulty
    }
    

    响应

    {
        "work": "2bf29ef00786a6bc",
        "difficulty": "ffffffd21c3933f4",
        "multiplier": "1.3946469"        
    }
    
  • work_validate 示例

    {
        "action": "work_validate",
        "hash": "718CC2121C3E641059BC1C2CFC45666C99E8AE922F7A807B7D07B62C995D79E2",
        "work": "2bf29ef00786a6bc",
        "difficulty": "ffffffc000000000",
        "multiplier": "1.0" // overrides difficulty
    }
    

    响应

    {
        "valid_all": "1",
        "valid_receive": "1",
        "difficulty": "ffffffd21c3933f4",
        "multiplier": "1.3946469"
    }
    
  • work_cancel 示例

    {
        "action": "work_cancel",
        "hash": "718CC2121C3E641059BC1C2CFC45666C99E8AE922F7A807B7D07B62C995D79E2"
    }
    

    响应

    {
    }
    

基准测试

示例请求

{
    "action": "benchmark",
    "count": "10"
}

注意由于工作生成是一个随机过程,请使用足够高的计数。

示例响应

{
    "average": "481",
    "count": "10",
    "difficulty": "fffffff800000000",
    "duration": "4813",
    "hint": "Times in milliseconds",
    "multiplier": "1"
}

状态

示例请求

{
    "action": "status"
}

示例响应

{
    "generating": "1",
    "queue_size": "3"
}

故障排除

  • Linux OpenCL AMD GPU系列错误:线程 'main''Failed to create GPU from string "00:00" - 请参阅此处解决方案

依赖项

~11-23MB
~297K SLoC