Silentarmy error on Mac OS X using AMD GPU


#1

I’ve managed to get Silentarmy to compile on my Mac, and I’ve got it configured to mine ZEC using my AMD RX580 GPU - which is obviously not what I want! The ZEC mining is working fine without any issues, and the mining is successfully paying out.

The difficulty is, when I point it to a ZEN mining pool, I get the following error in terminal from Silentarmy:

Stratum: invalid msg from server: Invalid version: 00000020: {'id': None, 'method': 'mining.notify', 'params': ['6b6', '00000020', '75cb4caa068044457451a636c6efac6f4b8275c23ea7263daacd730300000000', 'ec3e4a75a875fc114807ec2ec033ccc6c0935adfc967b1fd5dc70f7775143fd0', '0000000000000000000000000000000000000000000000000000000000000000', '1f38485a', '2eb8001d', True]}

Does anyone know why this might be the case? I’m using the stratum+tcp://zen.suprnova.cc:3618 pool.

Link to the Mac version of Silentarmy: https://github.com/justvanbloom/silentarmy

./silentarmy --use 2 -c stratum+tcp://zen.suprnova.cc:3618  -u zencashmining.user -p password --debug
Connecting to zen.suprnova.cc:3618
DEBUG:asyncio:Get address info zen.suprnova.cc:3618, type=<SocketKind.SOCK_STREAM: 1>
DEBUG:asyncio:Getting address info zen.suprnova.cc:3618, type=<SocketKind.SOCK_STREAM: 1> took 4.714 ms: [(<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('217.182.199.116', 3618))]
DEBUG:asyncio:execute program '/Users/USER/Documents/Zencash_Mining/SilentarmyJVB/silentarmy/sa-solver' stdin=<pipe> stdout=stderr=<pipe>
DEBUG:asyncio:process '/Users/USER/Documents/Zencash_Mining/SilentarmyJVB/silentarmy/sa-solver' created: pid 4348
DEBUG:asyncio:connect <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('0.0.0.0', 0)> to ('217.182.199.116', 3618)
DEBUG:asyncio:Write pipe 9 connected: (<_UnixWritePipeTransport fd=9 idle bufsize=0>, <WriteSubprocessPipeProto fd=0 pipe=<_UnixWritePipeTransport fd=9 idle bufsize=0>>)
DEBUG:asyncio:Read pipe 10 connected: (<_UnixReadPipeTransport fd=10 polling>, <ReadSubprocessPipeProto fd=1 pipe=<_UnixReadPipeTransport fd=10 polling>>)
INFO:asyncio:execute program '/Users/USER/Documents/Zencash_Mining/SilentarmyJVB/silentarmy/sa-solver': <_UnixSubprocessTransport pid=4348 running stdin=<_UnixWritePipeTransport fd=9 idle bufsize=0> stdout=<_UnixReadPipeTransport fd=10 polling>>
DEBUG:asyncio:poll 957.018 ms took 0.540 ms: 1 events
DEBUG:asyncio:<socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('10.0.0.139', 59212), raddr=('217.182.199.116', 3618)> connected to zen.suprnova.cc:3618: (<_SelectorSocketTransport fd=6 read=polling write=<idle, bufsize=0>>, <__main__.StratumClientProtocol object at 0x107f219b0>)
DEBUG:asyncio:poll 954.636 ms took 41.561 ms: 1 events
Stratum: invalid msg from server: Invalid version: 00000020: {'id': None, 'method': 'mining.notify', 'params': ['7c2', '00000020', '39f9092876c2c28b44ca85784ffd1664f5205f6c36664685e199116000000000', '319c68744d4f792f7b30e6276c0376cb07019ca5b08946a85c940f95c264a43a', '0000000000000000000000000000000000000000000000000000000000000000', '93a2485a', '3fb9001d', True]}

#2

I just had this issue too. You can comment out the version check in silentarmy and it seems to work fine.

Just add a ‘#’ in front of the lines like below:

#        if nversion != '04000000':
#            raise Exception('Invalid version: %s' % nversion)