9个版本
0.3.1 | 2022年11月30日 |
---|---|
0.1.7 | 2018年12月12日 |
0.1.6 | 2018年5月8日 |
#1799 in 魔法豆
每月下载 23次
40KB
834 行
Nano工作服务器
本项目是针对Nano加密货币的专用工作服务器。有关工作生成和当前网络难度的详细信息,请参阅文档。
nano-work-server 支持 Nano RPC 中的 work_generate
、work_cancel
和 work_validate
命令。有关这些命令的详细信息,请参阅 Nano RPC 文档。
要查看可用的命令行选项,请运行 nano-work-server --help
。
如果使用多个工作节点,请使用标志 --shuffle
。这会使得下一次请求是随机选择而不是顺序选择,这有助于在多个节点上更有效地生成工作,尤其是在它们不在同一网络中时。
当前基础难度
0xfffffff800000000
自 a75d984 以来。有关更多信息,请参阅Nano工作生成指南。
安装
OpenCL
Ubuntu
sudo apt install ocl-icd-opencl-dev
Fedora
sudo dnf install ocl-icd-devel
Windows
- AMD GPU: OCL-SDK
- Nvidia GPU: CUDA Toolkit
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