Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: gladiator9120 on March 29, 2021, 10:53:50 AM



Title: NOMP for latest Bitcoin Client
Post by: gladiator9120 on March 29, 2021, 10:53:50 AM
I have tried different NOMP forks (almost 5 of them), and found that almost all are outdated to latest Bitcoin 0.21 version. Can anyone share link of running NOMP or Python stratum compatible with latest BTC version ? Front-end doesn't matter, I'll be using MPOS for that.

Any help in this regard will be very helpful.

Thanks.


Title: Re: NOMP for latest Bitcoin Client
Post by: DaveF on March 29, 2021, 11:13:53 AM
Check out:
https://bitcointalk.org/index.php?topic=5202782
and
https://bitcointalk.org/index.php?topic=5204219

The person who did it has not logged in for over a year but it seemed like he got it working.
I guess the main question is why? Yes it can probably be done, but there is newer & better pool software out there.

-Dave


Title: Re: NOMP for latest Bitcoin Client
Post by: gladiator9120 on March 29, 2021, 11:14:38 AM
Check out:
https://bitcointalk.org/index.php?topic=5202782
and
https://bitcointalk.org/index.php?topic=5204219

The person who did it has not logged in for over a year but it seemed like he got it working.
I guess the main question is why? Yes it can probably be done, but there is newer & better pool software out there.

-Dave

No problem using new software as well. Can you share Github link?


Title: Re: NOMP for latest Bitcoin Client
Post by: DaveF on April 01, 2021, 05:27:55 PM
Take a look at ckpool

https://bitbucket.org/ckolivas/ckpool/src/master/

Some people say it's buggy with issues. Others love it.
Have not used it myself so I cannot comment.

You also have the stratum servers in yiimp / yaamp don't know much about them either but as far as I know they do work with the newer bitcoin clients.

-Dave


Title: Re: NOMP for latest Bitcoin Client
Post by: ranochigo on April 02, 2021, 06:19:02 AM
Take a look at ckpool

https://bitbucket.org/ckolivas/ckpool/src/master/

Some people say it's buggy with issues. Others love it.
Have not used it myself so I cannot comment.

You also have the stratum servers in yiimp / yaamp don't know much about them either but as far as I know they do work with the newer bitcoin clients.

-Dave
Works only with 0.19.1 and below. Software expects a coinbase aux flags from the RPC with Bitcoin Core which was removed in version 0.20.0. Modify it to remove the flags[1] that are expected which should be fine. I've never used it in a production scenario so exercise caution and avoid doing it unless you know what you are doing exactly.

[1] https://bitbucket.org/ckolivas/ckpool/src/b8f66852483542326de8c5705a3e36242347ad12/src/bitcoin.c?at=master#bitcoin.c-95,102,147:148,150


Title: Re: NOMP for latest Bitcoin Client
Post by: NotATether on April 02, 2021, 09:38:06 AM
Works only with 0.19.1 and below. Software expects a coinbase aux flags from the RPC with Bitcoin Core which was removed in version 0.20.0. Modify it to remove the flags[1] that are expected which should be fine. I've never used it in a production scenario so exercise caution and avoid doing it unless you know what you are doing exactly.

[1] https://bitbucket.org/ckolivas/ckpool/src/b8f66852483542326de8c5705a3e36242347ad12/src/bitcoin.c?at=master#bitcoin.c-95,102,147:148,150

coinbaseaux is responsible for specifying what data goes into the root transaction's scriptSig, so it can't just be removed - you have to somehow replace its usage with coinbasetxn, whose value is a mock raw transaction with values that need to be filled in.

"Somehow", because I couldn't find much explanation about coinbaseaux.flags except for a vague stack exchange answer: https://bitcoin.stackexchange.com/a/18901/112589


Title: Re: NOMP for latest Bitcoin Client
Post by: ranochigo on April 02, 2021, 10:26:15 AM
coinbaseaux is responsible for specifying what data goes into the root transaction's scriptSig, so it can't just be removed - you have to somehow replace its usage with coinbasetxn, whose value is a mock raw transaction with values that need to be filled in.

"Somehow", because I couldn't find much explanation about coinbaseaux.flags except for a vague stack exchange answer: https://bitcoin.stackexchange.com/a/18901/112589
Coinbaseaux flags has been empty and it's omission doesn't affect the scriptsig. The structure of the scriptsig, except for the block height being specified at the start won't affect the validity of it.

Code:
"coinbaseaux": {
    "flags": ""

The omission of it *probably* won't result in any changes and probably being due to the fact that I don't have sufficient resources to mine a block for myself and attest to that statement. If you cannot review the code in its entirety and check if the changes would affect any other components, it would be better to just go and run 0.19.1 and save any potential headaches. As for the link in that post, the flag is 062f503253482f which decodes to /P2SH/, which was also removed in 2015 as it was previously used to monitor for P2SH signalling.


Title: Re: NOMP for latest Bitcoin Client
Post by: WhyFhy on April 02, 2021, 12:59:37 PM
Have your tried nomp from cpb?