风险提示:虚拟货币不具有法定货币等同的法律地位,参与虚拟货币投资交易存在法律风险,继续浏览代表你同意以上所有声明,否则请立即关闭本站!

下面讨论如何在一台电脑上使用多 GPU 同时 P 盘(以 3 张 3070 显卡为例),
新手矿工不建议使用多 GPU P 盘。

获取commitmentAtxId

1.1、在 https://github.com/fullstorydev/grpcurl/releases/download/v1.8.7/grpcurl_1.8.7_windows_x86_64.zip
下载 grpcurl(目前版本 1.8.7)压缩包并解压。

1.2、打开 Power shell 进入 grpcurl 解压目录,运行代码:

smapp

.\grpcurl -plaintext 127.0.0.1:9092 spacemesh.v1.ActivationService.Highest

go-spacemch

.\grpcurl -plaintext 127.0.0.1:3001 spacemesh.v1.ActivationService.Highest

复制数值.png

复制并保存红框里的值(这是个 base64 的值)。
1.3、打开网址 https://base64.guru/converter/decode/hex 将上面复制的 base64 值
转换成 Hex 值。

https://base64.guru/converter/decode/hex

转换hex.png

复制并保存 Hex 值,这个 Hex 值就是 commitmentAtxId 值。

2、下载最新版 postcli

打开网址 https://github.com/spacemeshos/post/releases 下载最新版 postcli 压缩包并解压

3、查看 GPU 情况

打开 Power shell,进入 postcli 解压目录,运行./postcli -printProviders 可查看
GPU 情况。

./postcli -printProviders

查看显卡.png

上面显示的是三张 3070 显卡,0,1,2 是显卡序号。

4、获取 generated id

Power shell 中,在 postcli 目录下运行

.\postcli -provider 0 -commitmentAtxId
813a3a65d6a2efe2909617d7dd301f3e4bc2623d194b3beb41221c1ffc89569e -
numUnits 64 -datadir L:\smposdata
  • 说明:
  • -provider 显卡序号
  • -commitmentAtxId 获取的转换数值
  • -numUnits p盘大小值
  • -datadir 数据存放目录

(如下图所示)命令获取 generated id。

获取generated id.png

当屏幕出现红框里的 generated id 时按 Ctrl+c 中断命令执行,然后复制并保
存红框里的 generated id。

5、创建并编辑批处理文件 p.bat

在 postcli 目录下创建并编辑批处理文件 p.bat,内容如下图:

pi处理文件.png

上面例子中 P 盘的大小是 64*64=4096G,每个文件 4G,文件数 4096/4=1024
个,可根据实际情况分给各个显卡,注意文件序号是从 0 开始,上例的文件序号
是从 0 到 1023。

批处理文件代码

start cmd /k "postcli -provider 0 -id 59b6d1ec4b1ac98c1c1f00bd195122f87c0be36d4d4508954c2c4248b9401a45 -commitmentAtxId 4cb2a942a25f465be2ec81f93010fc6cb0c3f2222bb5ff421ce3f839859fc71c -numUnits 50 -datadir d:\smhdata -fromFile 0 -toFile 159" ping 127.0.0.1 -n 2 > nul
start cmd /k "postcli -provider 1 -id 59b6d1ec4b1ac98c1c1f00bd195122f87c0be36d4d4508954c2c4248b9401a45 -commitmentAtxId 4cb2a942a25f465be2ec81f93010fc6cb0c3f2222bb5ff421ce3f839859fc71c -numUnits 50 -datadir d:\smhdata -fromFile 160 -toFile 319" ping 127.0.0.1 -n 2 > nul

start cmd /k "postcli -provider 2 -id 59b6d1ec4b1ac98c1c1f00bd195122f87c0be36d4d4508954c2c4248b9401a45 -commitmentAtxId 4cb2a942a25f465be2ec81f93010fc6cb0c3f2222bb5ff421ce3f839859fc71c -numUnits 50 -datadir d:\smhdata -fromFile 320 -toFile 479" ping 127.0.0.1 -n 2 > nul

start cmd /k "postcli -provider 3 -id 59b6d1ec4b1ac98c1c1f00bd195122f87c0be36d4d4508954c2c4248b9401a45 -commitmentAtxId 4cb2a942a25f465be2ec81f93010fc6cb0c3f2222bb5ff421ce3f839859fc71c -numUnits 50 -datadir d:\smhdata -fromFile 480 -toFile 639" ping 127.0.0.1 -n 2 > nul

start cmd /k "postcli -provider 4 -id 59b6d1ec4b1ac98c1c1f00bd195122f87c0be36d4d4508954c2c4248b9401a45 -commitmentAtxId 4cb2a942a25f465be2ec81f93010fc6cb0c3f2222bb5ff421ce3f839859fc71c -numUnits 50 -datadir d:\smhdata -fromFile 640 -toFile 799" ping 127.0.0.1 -n 2 > nul

6、运行./p.bat

编辑好批处理文件 p.bat 后在 Power shell 中 postcli 目录下运行./p.bat,屏幕
将出现 3 个 cmd 窗口。

运行.png

当你在 3 个 CMD 窗口都看到红框中的内容时,说明你已经成功运行多 GPU
P 盘了。
注意:用多 GPU 来 P 盘速度虽然快,但稳定性可能没有单 GPU 稳定,要经常检
查多 GPU 的 P 盘状态,到数据目录检查生成的文件序号,判断哪个显卡已经停
工,哪个显卡已经 p 盘完毕,同时确认数据文件目录下 key.bin 文件和
postdata_metadata.json 文件已生成确保 P 盘正确。
用多 GPU 来 P 盘时,由于各显卡的性能和运行状态可能不同,造成各 GPU
的 P 盘进度不一致,这时可以根据实际情况通过修改 p.bat 文件中各 provider 的
P 盘文件,用已 P 完的 GPU 帮未 P 完的的 GPU 来 P 盘。

7、用 go-spacemesh 挂盘

多 GPU P 盘完毕,还要用 go-spacemesh 进行多节点挂盘的方式挂盘,

具体步骤如下:
1、将 P 好的硬盘拆下装到另一台电脑或是将整个数据目录复制到新的电脑。
2、打开网址 https://github.com/spacemeshos/go-spacemesh/releases 下载最新版的 go-spacemes。
3、解压下载的 go-spacemes 压缩包。
4、下载配置文件 config.json
5、根据 P 好的数据修改配置 config.json 参数和批处理文件 runminer.bat 参数
6、运行./runminer.ba

发表评论