Как заставить cpuminer для Zcash действительно работать с win32?
Недавно я получил cpuminer для zcash с https://github.com/dakk/cpuminer-zcash и скомпилировал его с MinGW под Windows XP, которая является той же системой, что и целевой компьютер.
Я изменил Git, чтобы исправить некоторые проблемы.
- Измените Makefile вручную: измените '-std= C++11' на '-std=gnu++0x', чтобы заставить функцию 'strdup' работать.
- Добавьте portable_endian.h из https://gist.github.com/PkmX/63dd23f28ba885be53a5 и включите его в equihash/equihash.cpp, чтобы исправить ошибки, связанные с htole32.
- Изменены sha2.cpp и miner.h для исправления "неопределенной ссылки на sha256_use_4way()' "
И я получил двоичный файл с некоторыми проблемами:
$minerd -o cn1-zcash.flypool.org:3333 -a equihash -u (my.wallet).work1
[2016-12-13 00:11:30] Binding thread 7 to cpu 7
[2016-12-13 00:11:30] 8 miner threads started, using algorithm.
[2016-12-13 00:11:30] Binding thread 1 to cpu 1
[2016-12-13 00:11:30] Binding thread 3 to cpu 3
[2016-12-13 00:11:30] Binding thread 5 to cpu 5
[2016-12-13 00:11:30] Binding thread 4 to cpu 4
[2016-12-13 00:11:30] Binding thread 0 to cpu 0
[2016-12-13 00:11:30] Binding thread 6 to cpu 6
[2016-12-13 00:11:30] Binding thread 2 to cpu 2
[2016-12-13 00:11:30] HTTP request failed: Recv failure: Connection reset by peer
[2016-12-13 00:11:30] json_rpc_call failed, retry after 30 seconds
[2016-12-13 00:12:01] JSON-RPC call failed: [ 20, "Invalid JSON request"]
[2016-12-13 00:12:01] getblocktemplate failed, falling back to getwork
[2016-12-13 00:12:01] JSON-RPC call failed: [ 20, "Invalid JSON request"]
[2016-12-13 00:12:01] json_rpc_call failed, retry after 30 seconds
И если я использую адрес в стиле stratum:
$ minerd -o stratum+tcp://cn1-zcash.flypool.org:3333 -a equihash -u (mywallet).work1
[2016-12-13 00:53:19] Starting Stratum on stratum+tcp://cn1-zcash.flypool.org:3333
[2016-12-13 00:53:19] Binding thread 5 to cpu 5
[2016-12-13 00:53:19] Binding thread 4 to cpu 4
[2016-12-13 00:53:19] Binding thread 2 to cpu 2
[2016-12-13 00:53:19] Binding thread 3 to cpu 3
[2016-12-13 00:53:19] Binding thread 6 to cpu 6
[2016-12-13 00:53:19] Binding thread 7 to cpu 7
[2016-12-13 00:53:19] Binding thread 0 to cpu 0
[2016-12-13 00:53:19] Binding thread 1 to cpu 1
[2016-12-13 00:53:19] 8 miner threads started, using algorithm.
[2016-12-13 00:53:24] Failed to get extranonce2_size
[2016-12-13 00:53:25] Failed to get extranonce2_size
[2016-12-13 00:53:25] ...retry after 30s
Как я могу заставить его работать как обычный майнер?