The job is basically fairly simple. You need to provide a function, coded in C (copy-paste & merge code from existing miners, for example cpuminer-multi - https://github.com/wolf9466/cpuminer-multi, or [https://github.com/vehre/neo-gpuminer)][1] which takes input parameters from stratum (prevhash, coinbase, merkleroot, ntime, extranonce1&2, nonce,…) and returns share diff (double). We would include this function in our stratum-proxy server, used to validate shares for NeoScrypt algorithm. The code must compile under VS2010 (32bit mode C, not C++).
Here are the list of input parameters:
params[] = Hash of previous block. Used to build the header.
params[] = Coinbase (part 1). The miner inserts ExtraNonce1 and ExtraNonce2 after this section of the coinbase.
params[] = Coinbase (part 2). The miner appends this after the first part of the coinbase and the two ExtraNonce values.
params[][] = List of merkle branches. The coinbase transaction is hashed against the merkle branches to build the final merkle root.
params[] = Bitcoin block version, used in the block header.
params[] = nBit, the encoded network difficulty. Used in the block header.
params[] = nTime, the current time. nTime rolling should be supported, but should not increase faster than actual time.
params[] = ExtraNonce 2
params[] = nonce
We can send existing validators (C source files) where problem is already resolved for other algorithms (Scrypt, SHA…) - contact us via PM or @ [email protected] if you are interested.
Of course you must test your function with some example shares - your algorithm should return the same diff as it is received, for example, by cgminer: [https://www.nicehash.com/docs/upload/neoscrypt-cgminer-printscreen.png][2]
If you know the guy that implemented this stuff into the cpuminer itself or some other programmers, that contributed to NeoScrypt algorithm, please forward them this job description.
Contact us via PM or @ [email protected] if you are interested.
Thanks.
[1]: https://github.com/vehre/neo-gpuminer)
[2]: https://www.nicehash.com/docs/upload/neoscrypt-cgminer-printscreen.png