💬 dkatzan commented on issue "Assertion pindexPrev && pindexPrev == chainstate.m_chain.Tip() when running regtest":
(https://github.com/bitcoin/bitcoin/issues/31562#issuecomment-2561232867)
Thx alot!
so is this expected to reach the next release cycle? which version will it be included in?
(https://github.com/bitcoin/bitcoin/issues/31562#issuecomment-2561232867)
Thx alot!
so is this expected to reach the next release cycle? which version will it be included in?
💬 ismaelsadeeq commented on issue "Assertion pindexPrev && pindexPrev == chainstate.m_chain.Tip() when running regtest":
(https://github.com/bitcoin/bitcoin/issues/31562#issuecomment-2561262673)
> so is this expected to reach the next release cycle? which version will it be included in?
After it is reviewed and merged yes it will be available in the next release.
You can check #31029 for the plans regarding the next release.
You can also volunteer to test and ensure that #31563 addresses your issue.
(https://github.com/bitcoin/bitcoin/issues/31562#issuecomment-2561262673)
> so is this expected to reach the next release cycle? which version will it be included in?
After it is reviewed and merged yes it will be available in the next release.
You can check #31029 for the plans regarding the next release.
You can also volunteer to test and ensure that #31563 addresses your issue.
🤔 Prabhat1308 reviewed a pull request: "fuzz: Abort if system time is called without mock time being set"
(https://github.com/bitcoin/bitcoin/pull/31549#pullrequestreview-2522097613)
Concept ACK .
Left a comment for clarification .
(https://github.com/bitcoin/bitcoin/pull/31549#pullrequestreview-2522097613)
Concept ACK .
Left a comment for clarification .
💬 Prabhat1308 commented on pull request "fuzz: Abort if system time is called without mock time being set":
(https://github.com/bitcoin/bitcoin/pull/31549#discussion_r1896853488)
Why Would I need to know what mocktime have been set by the fuzzer in a general situation?
(https://github.com/bitcoin/bitcoin/pull/31549#discussion_r1896853488)
Why Would I need to know what mocktime have been set by the fuzzer in a general situation?
💬 maflcko commented on issue "Intermittent issue in feature_index_prune.py: assert_equal(pruneheight_new, 248) AssertionError: not(249 == 248)":
(https://github.com/bitcoin/bitcoin/issues/31446#issuecomment-2561273816)
https://cirrus-ci.com/task/6171541521563648?logs=ci#L2939
(https://github.com/bitcoin/bitcoin/issues/31446#issuecomment-2561273816)
https://cirrus-ci.com/task/6171541521563648?logs=ci#L2939
📝 Sjors opened a pull request: "Add checkblock RPC and checkBlock() to Mining interface"
(https://github.com/bitcoin/bitcoin/pull/31564)
## Rationale
### Verifying block templates (no PoW)
Stratum v2 and DATUM allow miners to generate their own block template. Pools may wish (or need) to verify these templates. This typically involves comparing mempools, asking miners to providing missing transactions and then reconstructing the proposed block.[^0] This is not sufficient to ensure a proposed block is actually valid. In some schemes miners could take advantage of incomplete validation[^1].
The Stratum Reference Implementa
...
(https://github.com/bitcoin/bitcoin/pull/31564)
## Rationale
### Verifying block templates (no PoW)
Stratum v2 and DATUM allow miners to generate their own block template. Pools may wish (or need) to verify these templates. This typically involves comparing mempools, asking miners to providing missing transactions and then reconstructing the proposed block.[^0] This is not sufficient to ensure a proposed block is actually valid. In some schemes miners could take advantage of incomplete validation[^1].
The Stratum Reference Implementa
...
💬 Sjors commented on pull request "Add checkblock RPC and checkBlock() to Mining interface":
(https://github.com/bitcoin/bitcoin/pull/31564#issuecomment-2561298038)
I wrote on IRC:
>> Does anyone know what `UpdateUncommittedBlockStructures` is good for in the `submitblock` RPC?
To which @sipa responded:
> Sjors[m]: it looks like it adds the "witness nonce" if missing (the witness for the coinbase input is a reserved field for adding future commitments, but it must be present, so that function adds a 0)
This PR omits `UpdateUncommittedBlockStructures`. It would be nice to come up with a test that shows what it does and fails on the current code.
(https://github.com/bitcoin/bitcoin/pull/31564#issuecomment-2561298038)
I wrote on IRC:
>> Does anyone know what `UpdateUncommittedBlockStructures` is good for in the `submitblock` RPC?
To which @sipa responded:
> Sjors[m]: it looks like it adds the "witness nonce" if missing (the witness for the coinbase input is a reserved field for adding future commitments, but it must be present, so that function adds a 0)
This PR omits `UpdateUncommittedBlockStructures`. It would be nice to come up with a test that shows what it does and fails on the current code.
🤔 tdb3 reviewed a pull request: "rpc: allow writing UTXO set to a named pipe, introduce dump_to_sqlite.sh script"
(https://github.com/bitcoin/bitcoin/pull/31560#pullrequestreview-2522042088)
Approach ACK
Great feature!
Did some manual santiy testing on mainnet:
- Used `dumptxoutset` to create a dump (with a node synced to block 876,186), `utxo_to_sqlite.py` to covert to a sqlite file, and opened/parsed in python. Conversion seemed successful, the correct number of coins were present in the table
- Used `dump_to_sqlite.sh` to do the same with fifo (but with a node synced to block 200,000), then open/parsed in python. Conversion seemed successful, the correct number of coins
...
(https://github.com/bitcoin/bitcoin/pull/31560#pullrequestreview-2522042088)
Approach ACK
Great feature!
Did some manual santiy testing on mainnet:
- Used `dumptxoutset` to create a dump (with a node synced to block 876,186), `utxo_to_sqlite.py` to covert to a sqlite file, and opened/parsed in python. Conversion seemed successful, the correct number of coins were present in the table
- Used `dump_to_sqlite.sh` to do the same with fifo (but with a node synced to block 200,000), then open/parsed in python. Conversion seemed successful, the correct number of coins
...
💬 tdb3 commented on pull request "rpc: allow writing UTXO set to a named pipe, introduce dump_to_sqlite.sh script":
(https://github.com/bitcoin/bitcoin/pull/31560#discussion_r1896861260)
Rather than have this wait indefinitely, might be better to specify a `timeout` (e.g. `CONVERSION_TIMEOUT = 60`, `p.wait(timeout=CONVERSION_TIMEOUT)`). This could allow earlier failure detection (i.e. instead of relying on the longer CI timeout).
(https://github.com/bitcoin/bitcoin/pull/31560#discussion_r1896861260)
Rather than have this wait indefinitely, might be better to specify a `timeout` (e.g. `CONVERSION_TIMEOUT = 60`, `p.wait(timeout=CONVERSION_TIMEOUT)`). This could allow earlier failure detection (i.e. instead of relying on the longer CI timeout).
💬 tdb3 commented on pull request "rpc: allow writing UTXO set to a named pipe, introduce dump_to_sqlite.sh script":
(https://github.com/bitcoin/bitcoin/pull/31560#discussion_r1896865020)
`2024-present`
(https://github.com/bitcoin/bitcoin/pull/31560#discussion_r1896865020)
`2024-present`
💬 tdb3 commented on pull request "rpc: allow writing UTXO set to a named pipe, introduce dump_to_sqlite.sh script":
(https://github.com/bitcoin/bitcoin/pull/31560#discussion_r1896864227)
`2024-present`
(https://github.com/bitcoin/bitcoin/pull/31560#discussion_r1896864227)
`2024-present`
💬 tdb3 commented on pull request "rpc: allow writing UTXO set to a named pipe, introduce dump_to_sqlite.sh script":
(https://github.com/bitcoin/bitcoin/pull/31560#discussion_r1896811520)
nit: To prevent maintaining the same info (table structure) in multiple files, maybe we can create a link here to the opening comment in `utxo_to_sqlite.py` (describing the table)?
(https://github.com/bitcoin/bitcoin/pull/31560#discussion_r1896811520)
nit: To prevent maintaining the same info (table structure) in multiple files, maybe we can create a link here to the opening comment in `utxo_to_sqlite.py` (describing the table)?
💬 tdb3 commented on pull request "rpc: allow writing UTXO set to a named pipe, introduce dump_to_sqlite.sh script":
(https://github.com/bitcoin/bitcoin/pull/31560#discussion_r1896861901)
Might be less churn to have commit d9a8a137b64f586422455318a9e757b1967a4f73 introduce this function instead of refactoring in this commit.
(https://github.com/bitcoin/bitcoin/pull/31560#discussion_r1896861901)
Might be less churn to have commit d9a8a137b64f586422455318a9e757b1967a4f73 introduce this function instead of refactoring in this commit.
🤔 sipa reviewed a pull request: "descriptor: remove unreachable verification for `pkh`"
(https://github.com/bitcoin/bitcoin/pull/31555#pullrequestreview-2522148711)
crACK 366ae00b779acd59a61719422f0597acb17fb3e0
(https://github.com/bitcoin/bitcoin/pull/31555#pullrequestreview-2522148711)
crACK 366ae00b779acd59a61719422f0597acb17fb3e0
👍 ismaelsadeeq approved a pull request: "rpc: Extend scope of validation mutex in generateblock"
(https://github.com/bitcoin/bitcoin/pull/31563#pullrequestreview-2522159692)
Code review and tested ACK fa62c8b1f04a5386ffa171aeff713d55bd874cbe
I was able to recreate the failure by calling `generateblock` concurrently from multiple threads using https://gist.github.com/ismaelsadeeq/a5e3edb3fbf2d7f3c6698c1610622d22
```terminal
2024-12-24T17:10:44Z Saw new header hash=34f195658f52e6cf693a2cb3dbec8d421ef7523168ea18ba5d4fb89f4d631596 height=1301
2024-12-24T17:10:44Z [validation] NewPoWValidBlock: block hash=34f195658f52e6cf693a2cb3dbec8d421ef7523168ea18ba5d4fb8
...
(https://github.com/bitcoin/bitcoin/pull/31563#pullrequestreview-2522159692)
Code review and tested ACK fa62c8b1f04a5386ffa171aeff713d55bd874cbe
I was able to recreate the failure by calling `generateblock` concurrently from multiple threads using https://gist.github.com/ismaelsadeeq/a5e3edb3fbf2d7f3c6698c1610622d22
```terminal
2024-12-24T17:10:44Z Saw new header hash=34f195658f52e6cf693a2cb3dbec8d421ef7523168ea18ba5d4fb89f4d631596 height=1301
2024-12-24T17:10:44Z [validation] NewPoWValidBlock: block hash=34f195658f52e6cf693a2cb3dbec8d421ef7523168ea18ba5d4fb8
...
🤔 ismaelsadeeq reviewed a pull request: "cluster mempool: introduce TxGraph"
(https://github.com/bitcoin/bitcoin/pull/31363#pullrequestreview-2522187404)
Concept ACK
> GetChunkFeerate (get the mining score of a transaction)
From reading the description and skimming through the code, IIUC `TxGraph` encapsulates knowledge about fees and sizes but lacks knowledge about prioritization. This implies that the fee it uses is the effective fee, not the modified fee that includes prioritization.
How are we accounting for the real mining score of a `Ref` without that prioritization knowledge? The current mining algorithm uses the modified anc
...
(https://github.com/bitcoin/bitcoin/pull/31363#pullrequestreview-2522187404)
Concept ACK
> GetChunkFeerate (get the mining score of a transaction)
From reading the description and skimming through the code, IIUC `TxGraph` encapsulates knowledge about fees and sizes but lacks knowledge about prioritization. This implies that the fee it uses is the effective fee, not the modified fee that includes prioritization.
How are we accounting for the real mining score of a `Ref` without that prioritization knowledge? The current mining algorithm uses the modified anc
...
💬 sipa commented on pull request "cluster mempool: introduce TxGraph":
(https://github.com/bitcoin/bitcoin/pull/31363#issuecomment-2561368066)
@ismaelsadeeq TxGraph (and DepGraph, and FeeFrac) just treat "fee" and "size" as numbers whose ratio is to be maximized. These classes don't care what meaning they correspond to.
In practice, I expect that the mempool code will provide the modified fee as "fee", and vsize or weight as "size".
(https://github.com/bitcoin/bitcoin/pull/31363#issuecomment-2561368066)
@ismaelsadeeq TxGraph (and DepGraph, and FeeFrac) just treat "fee" and "size" as numbers whose ratio is to be maximized. These classes don't care what meaning they correspond to.
In practice, I expect that the mempool code will provide the modified fee as "fee", and vsize or weight as "size".
⚠️ Andresmore96 opened an issue: "Bitcoin"
(https://github.com/bitcoin/bitcoin/issues/31565)
(https://github.com/bitcoin/bitcoin/issues/31565)
✅ fanquake closed an issue: "Bitcoin"
(https://github.com/bitcoin/bitcoin/issues/31565)
(https://github.com/bitcoin/bitcoin/issues/31565)
:lock: fanquake locked an issue: "Bitcoin"
(https://github.com/bitcoin/bitcoin/issues/31565)
(https://github.com/bitcoin/bitcoin/issues/31565)