-
Notifications
You must be signed in to change notification settings - Fork 10
Stratum v2 Template Provider common functionality #49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 2024/06/sv2_connection
Are you sure you want to change the base?
Conversation
3cf779b
to
b549fd6
Compare
6894e23
to
fc6ac1e
Compare
Updated to the latest interface changes proposed in bitcoin#30409 and #53. |
b549fd6
to
22d033c
Compare
491755c
to
16d2381
Compare
4f957ee
to
b69544c
Compare
ca73422
to
4fa25e0
Compare
Rebased for CMake |
One test still seems brittle:
|
b69544c
to
1ca68d2
Compare
1f720ff
to
1912743
Compare
1ca68d2
to
b578e0a
Compare
598f08a
to
436dc4d
Compare
Moved |
436dc4d
to
46fa8f1
Compare
b578e0a
to
489c9fb
Compare
7db898e
to
765af74
Compare
Possible thread issue, found by CI in #68: https://cirrus-ci.com/task/5072000852426752?logs=ci#L3303 |
2503578
to
360aedd
Compare
6b5dfc5
to
fe053b0
Compare
Rebased after bitcoin#31384. |
360aedd
to
49ea07a
Compare
fe053b0
to
5c3f9cb
Compare
Rebased in hopes of making #80 magically go away. |
49ea07a
to
ac05646
Compare
5c3f9cb
to
802ffdc
Compare
I squashed 4c132d0 "Incrementally update sv2 block template" into 61eeca1 "Sv2: construct and submit block templates" and then refactored the combined commit ad3120b to fix #80. Every client now has its own thread in the TemplateProvider. It could be improved further, e.g. the handshake is blocking and we're not using optimistic send, but I'm going to wait to see what @theuni comes up with in terms of an alternative approach to Connman. |
ac05646
to
185eb09
Compare
802ffdc
to
6a29c1d
Compare
Occasional failing on CentOS probably means the tests need to be made more robust. https://cirrus-ci.com/task/5262823086882816 |
185eb09
to
1a0f0f3
Compare
6a29c1d
to
b2f6576
Compare
5692ffa
to
7d5d5ad
Compare
The template provider will listen for a Job Declarator client. It can establish a connection and detect various protocol errors. Co-Authored-By: Christopher Coverdale <[email protected]> Co-Authored-By: Fi3
Co-authored-by: Christopher Coverdale <[email protected]>
Incrementally update the template.
Co-authored-by: Vasil Dimov <[email protected]>
The Consensus Cleanup soft fork proposal includes enforcing that coinbase transactions set their locktime field to the block height, minus 1 (as well as their nSequence such as to not disable the timelock). If such a fork were to be activated by Bitcoin users, miners need to be ready to produce compliant blocks at the risk of losing substantial amounts mining would-be invalid blocks. As miners are unfamously slow to upgrade, it's good to make this change as early as possible. Although Bitcoin Core's GBT implementation does not provide the "coinbasetxn" field, and mining pool software crafts the coinbase on its own, updating the Bitcoin Core mining code is a first step toward convincing pools to update their (often closed source) code. A possible followup is also to introduce new fields to GBT. In addition, this first step also makes it possible to test future Consensus Cleanup changes. The changes to the seemingly-unrelated RBF tests is because these tests assert an error message which may vary depending on the txid of the transactions used in the test. This commit changes the coinbase transaction structure and therefore impact the txid of transactions in all tests. The change to the "Bad snapshot" error message in the assumeutxo functional test is because this specific test case reads into the txid of the next transaction in the snapshot and asserts the error message based it gets on deserializing this txid as a coin for the previous transaction. As this commit changes this txid it impacts the deserialization error raised.
On by default. Allow Stratum v2 miners to opt out, pending more discussion on the BIP.
b2f6576
to
134d8b3
Compare
Rebased after bitcoin#31785 landed, which completes the interface changes needed for the Template Provider. Dropped the use of |
Moved from bitcoin#30475.
Based on:
And the following interface changes:
As well as:
-coinbaselocktime=0
This contains all Template Provider functionality that can be used by both #68 and the IPC based sidecar alternative #48.