No description provided.
2023.02.21 ci prep #27136
pull ccdle12 wants to merge 45 commits into bitcoin:master from ccdle12:2023.02.21-ci-prep changing 10 files +1409 −0-
ccdle12 commented at 2:26 PM on February 21, 2023: contributor
-
build: add sv2 template provider compile option and port arg 4b0c14b4cf
-
build: create and add sv2_template_provider files to Makefile.am 538d081e89
-
sv2: add base class Sv2Msg for all stratum v2 messages 8d5e6a2fe9
-
build: add sv2_template_provider_tests unit tests f2d7eb2eb1
-
sv2: add SetupConnection message and test 2d354c690c
-
sv2: add SetupConnectionSuccess message and test a47b54499d
-
sv2: add NewTemplate message and test 885937bbdf
-
sv2: add SetNewPrevHash message and test c6b478d88e
-
sv2: add SubmitSolution message and test 0573a15019
-
sv2: add Sv2MsgType to identify send/recv messages in stratum v2 headers d68217c4d1
-
sv2: add u24_t type for stratum v2 message headers ad6771422b
-
sv2: add Sv2Header and tests 488e054f33
-
sv2: add Sv2Client to encapsulate each stratum v2 connection 336a55ef7a
-
sv2: add Sv2TemplateProvider as the sv2 main class with server impl 0e9a99a0d0
-
sv2: add BindListenPort impl to set and bind sv2 listening port 0fb03b0da5
-
sv2: add thread to Sv2TemplateProvider and impl StopThreads method 2679a9a67b
-
sv2: add clients list and GenerateSocketEvents for each connected client 73aebc7df4
-
sv2: add thread interrupt to Sv2TemplateProvider 9bacbdd028
-
7d65633365
sv2: add a blocks cache to map template ids to candidate blocks
The template ids are linked to downstream work of a NewTemplate. If the client finds a solution and submits the work, the Template Provider will look up the cached block according to the id and send the block to the p2p network, after applying the work from the client.
-
sv2: add TemplateId to track and increment generated ids in NewTemplate f00f70b1dc
-
c18684c54d
sv2: add best new template and add UpdateTemplate method
The Sv2TemplateProvider will keep track of the best new template to send to clients and on certain events, will build a new block, new template and cache them.
-
419a1e8646
sv2: add best m_prev_hash and UpdatePrevHash()
m_prev_hash is updated when the template provider builds a new best template and sends the SetNewPrevHash message to indicate to the client that they can start working on the NewTemplate. This message can also be used to instruct clients to work on future NewTemplates that are cached on the client side.
-
sv2: add OnNewBlock to send the best template and prev hash to clients 36dfae67d8
-
sv2: add ProcessSv2Message to contain the handling logic for sv2 messages 4f4ba4603b
-
sv2: add m_best_block_hash to track the best known hash in the network 232b43b13b
-
sv2: add ThreadSv2Handler as the main event loop for the server 1253200068
-
sv2: add Start method to launch the template provider thread e018b1f08e
-
node/context: add Sv2TemplateProvider to NodeContext 78ff2a8edd
-
sv2: fix incorrect flags params passed to ProcessNewBlock 126a1d5aa7
-
sv2: add log print when template provider binds to the listening port 280c428568
-
init: add Sv2TemplateProvider assignment and tear down bf0fa25fcf
-
fuzz: add sv2 messages fuzz test c68ca73a20
-
sv2: add try/catch around unserializing sv2 messages 03a5d43b33
-
sv2: explicitly increment m_template_id before assinging to NewTemplate 7d0ffeeddd
-
0c0864cb27
sv2: remove m_best_block_hash, check the TP is in sync via the best SetNewPrevHash
* This change uses the m_prev_hash field of the best SetNewPrevHash to check if the Template Provider is providing work at the best known hash of the chain
-
sv2: rename only, m_prev_hash -> m_best_prev_hash 07d5eeb397
-
d2c96f737e
sv2: omit sending the coinbase tx hash in the merkle path
* This fixes a reported bug of a "high-hash" validation error when validating work from an sv2 pool. * Also remove additional byte length from the merkle path size
-
sv2: add witness commitment to NewTemplate if block has segwit inputs 18367b457d
-
sv2: add Sv2NetMsg for serializing Sv2Header and stratum v2 messages b527c7295a
-
sv2: use Sv2NetMsg for all outgoing stratum v2 messages 7d93c0e799
-
sv2: remove GetMsgLen() from all outgoing stratum v2 messages cbbe8cd1bd
-
sv2: remove GetMsgLen() in tests dd9e1bcb47
-
sv2: only create new templates on successful block validation 92ed17421e
-
sv2: serialize coinbase_tx_outputs as Seq064K[B064K] 8126eea323
-
add tp server h file in makefile 9b56742d41
-
DrahtBot commented at 2:26 PM on February 21, 2023: member
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--021abf342d371248e50ceaed478a90ca-->
Reviews
See the guideline for information on the review process. A summary of reviews will appear here.
- ccdle12 closed this on Feb 21, 2023
- fanquake locked this on Feb 25, 2023