I'm in the process to implement Randomx on a mining pool for a different coin than Monero (we don't use a block template system, the blob can be generated as a random string if necessary). We just need the miners to mine the blob (which is a kind of challengeNumber) with randomX and return a valide Nonce, so we don't need to bother with block template construction and verification if it's not necessary.

We're currently working on a randomX mining pool for a new crypto currency. But trying to integrate XMRig it seems (using « rx/0 ») the miner returns nonces that are not direct results from randomx_calculate_hash(), it seems to return nonces that are dependent on monero source code using rx_slow_hash()

My first question is:

Is there a way to get XMRig miner to return randomX nonces that are direct result of randomx_calculate_hash (maybe another option than rx/0)? Or XMRig can only be used to generate nonces that implement additional logic of monero source code ?

the job sent by our randomX pool:

job: { blob: "101096a5a1b4061274d1d8e13640eff7416062d3366960171731b703b31244d20c252d090c9d97000000008f3f41a03692ea66f71676a3eae82c215be3347b447fd2545b0cfd2c7b850ad837", job_id: "83510",  target: "ff7fffff", height: 3182000, seed_hash: "25314901c96d26ff28484bddf315f0a3295f30f13590d056efd65fcb6d8da788"}, 

Response sent by the XMRig miner:

{ id: '1', job_id: '83510', nonce: '06800300', result: '8f2460d90ef6a1b5a0d7e2fa53f4d8e461dd661eccc25f9993f77131ab79f557' }

But when I try to verify the nonce using Monero source code I don't get the same result as XMRig. In fact using this nonce, height and seedhash i get c2569bd1e339b43ee95621b95f5d6220450a8d355619c731b1358507bba898aa instead of 8f2460d90ef6a1b5a0d7e2fa53f4d8e461dd661eccc25f9993f77131ab79f557.

For the new crypto currency mining we would not need to have a block template system nor a convertBlob() system, we would just need to send a blob to miners that is directly hashed by the miners and get a nonce whose difficulty is below the target.

So my questions are:

Is it necessary to add another algorithm option like "rx/0" dedicated for Etica that would just use raw RandomX to return direct solutions from randomx_calculate_hash() instead of calling rx_slow_hash() ?

Is XMRig a randomX miner or a Monero dependent miner? Meaning is it a way to send jobs to XMRig miner and return nonces that directly hash solutions without adding another layer of complexity dependent on Monero. We use "rx/0" to mine, maybe there is another option that mines directly with randomx_calculate_hash()?

Otherwise we are willing to update Etica source code to become compatible with XMRig. How exactly can ETI verify the nonces with the exact same verification process as your miner, do you have a concrete code example of nonces verification?

New contributor
Kevin Wad is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • @jtgrassie i've seen you're the worldwide expert about this! I would be extremely greatful to get your support
    – Kevin Wad
    Commented yesterday


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.