💬 l0rinc commented on pull request "fuzz: compact block harness":
(https://github.com/bitcoin/bitcoin/pull/33300#discussion_r2514076456)
```suggestion
// Expected for truncated/invalid fuzzed messages; swallow to continue exercising code paths.
// TODO validate that the error something we do actually expect here, otherwise anything can happen here
}
```
(https://github.com/bitcoin/bitcoin/pull/33300#discussion_r2514076456)
```suggestion
// Expected for truncated/invalid fuzzed messages; swallow to continue exercising code paths.
// TODO validate that the error something we do actually expect here, otherwise anything can happen here
}
```
💬 Sjors commented on pull request "mining: add getCoinbase()":
(https://github.com/bitcoin/bitcoin/pull/33819#issuecomment-3517820699)
Odd, the invalid-version error is happening at the bottom of this block:
```
self.log.debug("Submit a block with a bad version")
block.nVersion = 0
block.solve()
res = await mining.result.checkBlock(block.serialize(), check_opts)
assert_equal(res.result, False)
assert_equal(res.reason, "bad-version(0x00000000)")
res = await template.result.submitSolution(ctx, block.nVersion, block.nTime, block.nNonce, coinbase.serialize())
assert_equal(res.result, False)
self.log.debug("Submit a vali
...
(https://github.com/bitcoin/bitcoin/pull/33819#issuecomment-3517820699)
Odd, the invalid-version error is happening at the bottom of this block:
```
self.log.debug("Submit a block with a bad version")
block.nVersion = 0
block.solve()
res = await mining.result.checkBlock(block.serialize(), check_opts)
assert_equal(res.result, False)
assert_equal(res.reason, "bad-version(0x00000000)")
res = await template.result.submitSolution(ctx, block.nVersion, block.nTime, block.nNonce, coinbase.serialize())
assert_equal(res.result, False)
self.log.debug("Submit a vali
...
💬 fanquake commented on pull request "depends: drop qtbase_avoid_native_float16 qt patch":
(https://github.com/bitcoin/bitcoin/pull/33850#issuecomment-3517860961)
Guix Build (x86_64):
```bash
945f7146ca27fd741e0512d214171cecb61f9c4d1a07a56821b0c5765aa7db13 guix-build-169f93d2ac88/output/aarch64-linux-gnu/SHA256SUMS.part
ff1debd447ad07d09c29f37ce1da4723aef28c40f56e8ca64c1c83ee80a744a4 guix-build-169f93d2ac88/output/aarch64-linux-gnu/bitcoin-169f93d2ac88-aarch64-linux-gnu-debug.tar.gz
49ebd79348ffad69d3448252896900a3c42c6ac4b0abfc99503887cbff59f190 guix-build-169f93d2ac88/output/aarch64-linux-gnu/bitcoin-169f93d2ac88-aarch64-linux-gnu.tar.gz
5419239
...
(https://github.com/bitcoin/bitcoin/pull/33850#issuecomment-3517860961)
Guix Build (x86_64):
```bash
945f7146ca27fd741e0512d214171cecb61f9c4d1a07a56821b0c5765aa7db13 guix-build-169f93d2ac88/output/aarch64-linux-gnu/SHA256SUMS.part
ff1debd447ad07d09c29f37ce1da4723aef28c40f56e8ca64c1c83ee80a744a4 guix-build-169f93d2ac88/output/aarch64-linux-gnu/bitcoin-169f93d2ac88-aarch64-linux-gnu-debug.tar.gz
49ebd79348ffad69d3448252896900a3c42c6ac4b0abfc99503887cbff59f190 guix-build-169f93d2ac88/output/aarch64-linux-gnu/bitcoin-169f93d2ac88-aarch64-linux-gnu.tar.gz
5419239
...
🤔 hebasto reviewed a pull request: "depends: drop qtbase_avoid_native_float16 qt patch"
(https://github.com/bitcoin/bitcoin/pull/33850#pullrequestreview-3449037755)
My Guix build:
```
aarch64
945f7146ca27fd741e0512d214171cecb61f9c4d1a07a56821b0c5765aa7db13 guix-build-169f93d2ac88/output/aarch64-linux-gnu/SHA256SUMS.part
ff1debd447ad07d09c29f37ce1da4723aef28c40f56e8ca64c1c83ee80a744a4 guix-build-169f93d2ac88/output/aarch64-linux-gnu/bitcoin-169f93d2ac88-aarch64-linux-gnu-debug.tar.gz
49ebd79348ffad69d3448252896900a3c42c6ac4b0abfc99503887cbff59f190 guix-build-169f93d2ac88/output/aarch64-linux-gnu/bitcoin-169f93d2ac88-aarch64-linux-gnu.tar.gz
5419239208ebce
...
(https://github.com/bitcoin/bitcoin/pull/33850#pullrequestreview-3449037755)
My Guix build:
```
aarch64
945f7146ca27fd741e0512d214171cecb61f9c4d1a07a56821b0c5765aa7db13 guix-build-169f93d2ac88/output/aarch64-linux-gnu/SHA256SUMS.part
ff1debd447ad07d09c29f37ce1da4723aef28c40f56e8ca64c1c83ee80a744a4 guix-build-169f93d2ac88/output/aarch64-linux-gnu/bitcoin-169f93d2ac88-aarch64-linux-gnu-debug.tar.gz
49ebd79348ffad69d3448252896900a3c42c6ac4b0abfc99503887cbff59f190 guix-build-169f93d2ac88/output/aarch64-linux-gnu/bitcoin-169f93d2ac88-aarch64-linux-gnu.tar.gz
5419239208ebce
...
👍 hebasto approved a pull request: "depends: drop qtbase_avoid_native_float16 qt patch"
(https://github.com/bitcoin/bitcoin/pull/33850#pullrequestreview-3449040676)
ACK 169f93d2ac887a7295e87f0a69c2407cdd0a936e.
(https://github.com/bitcoin/bitcoin/pull/33850#pullrequestreview-3449040676)
ACK 169f93d2ac887a7295e87f0a69c2407cdd0a936e.
💬 fanquake commented on pull request "guix: build `bitcoin-qt` with static libxcb & utils":
(https://github.com/bitcoin/bitcoin/pull/33537#issuecomment-3517903783)
> build libxcb_util_image or skip building the tests.
@tobtoht Thanks. I've pushed a change into the `libxcb_util_image` commit to skip the tests and drop the patch I was applying (not well tested yet).
(https://github.com/bitcoin/bitcoin/pull/33537#issuecomment-3517903783)
> build libxcb_util_image or skip building the tests.
@tobtoht Thanks. I've pushed a change into the `libxcb_util_image` commit to skip the tests and drop the patch I was applying (not well tested yet).
🚀 hebasto merged a pull request: "depends: drop qtbase_avoid_native_float16 qt patch"
(https://github.com/bitcoin/bitcoin/pull/33850)
(https://github.com/bitcoin/bitcoin/pull/33850)
💬 stickies-v commented on pull request "kernel: add btck_block_tree_entry_equals":
(https://github.com/bitcoin/bitcoin/pull/33855#issuecomment-3517916262)
Force-pushed to add clang-tidy argument names, addressing [feedback](https://github.com/bitcoin/bitcoin/pull/33855#discussion_r2514804401).
(https://github.com/bitcoin/bitcoin/pull/33855#issuecomment-3517916262)
Force-pushed to add clang-tidy argument names, addressing [feedback](https://github.com/bitcoin/bitcoin/pull/33855#discussion_r2514804401).
🤔 hebasto reviewed a pull request: "kernel: Allow null arguments for serialized data"
(https://github.com/bitcoin/bitcoin/pull/33853#pullrequestreview-3449073010)
Concept ACK.
(https://github.com/bitcoin/bitcoin/pull/33853#pullrequestreview-3449073010)
Concept ACK.
💬 willcl-ark commented on issue "dnsseed.bitcoin.dashjr-list-of-p2p-nodes.us appears to be violating DNS seed policy":
(https://github.com/bitcoin/bitcoin/issues/33734#issuecomment-3517958972)
We opened this issue to give Luke a chance to respond to the concerns in the OP. He has replied but IMO has not addressed the concerns around version filtering.
As documented in this thread, `dnsseed.bitcoin.dashjr-list-of-p2p-nodes.us` is currently not returning any v29 or v30 nodes, which violates point 1 of our DNS seed policy: "The DNS seed results must consist exclusively of fairly selected and functioning Bitcoin nodes from the public network." Multiple independent tests have confirmed th
...
(https://github.com/bitcoin/bitcoin/issues/33734#issuecomment-3517958972)
We opened this issue to give Luke a chance to respond to the concerns in the OP. He has replied but IMO has not addressed the concerns around version filtering.
As documented in this thread, `dnsseed.bitcoin.dashjr-list-of-p2p-nodes.us` is currently not returning any v29 or v30 nodes, which violates point 1 of our DNS seed policy: "The DNS seed results must consist exclusively of fairly selected and functioning Bitcoin nodes from the public network." Multiple independent tests have confirmed th
...
📝 yuvicc opened a pull request: "kernel, validation: Refactor ProcessNewBlock(Headers) to return BlockValidationState"
(https://github.com/bitcoin/bitcoin/pull/33856)
## Motivation
This PR refactors `ProcessNewBlock()` and `ProcessNewBlockHeaders()` to return `BlockValidationState` by value instead of using out-parameters or boolean returns. This follows the pattern established in #31981 (commit 74690f4) which refactored `TestBlockValidity()` in a similar manner.
### Current Issues
1. **ProcessNewBlockHeaders()**: Uses an out-parameter `BlockValidationState& state`, making the API less intuitive.
2. **ProcessNewBlock()**: Returns a simple boolean wi
...
(https://github.com/bitcoin/bitcoin/pull/33856)
## Motivation
This PR refactors `ProcessNewBlock()` and `ProcessNewBlockHeaders()` to return `BlockValidationState` by value instead of using out-parameters or boolean returns. This follows the pattern established in #31981 (commit 74690f4) which refactored `TestBlockValidity()` in a similar manner.
### Current Issues
1. **ProcessNewBlockHeaders()**: Uses an out-parameter `BlockValidationState& state`, making the API less intuitive.
2. **ProcessNewBlock()**: Returns a simple boolean wi
...
💬 yuvicc commented on pull request "kernel: Add block header support and validation":
(https://github.com/bitcoin/bitcoin/pull/33822#discussion_r2515053631)
Opened #33856 to address this.
(https://github.com/bitcoin/bitcoin/pull/33822#discussion_r2515053631)
Opened #33856 to address this.
💬 vasild commented on pull request "net: option to disallow v1 connection on ipv4 and ipv6 peers":
(https://github.com/bitcoin/bitcoin/pull/30951#issuecomment-3517995745)
From the [issue](https://github.com/bitcoin/bitcoin/issues/29618#issuecomment-2388394165) that prompted this:
> I asked for this because of a friend in a country where they are having issues, very real issues and they did not want to doxx themselves
I still think that this is misguided and can get people into "very real issues" if such an option gives the impression that it:
1. Hides the fact that you run a bitcoin node. It does not at all because you will still connect to others at port
...
(https://github.com/bitcoin/bitcoin/pull/30951#issuecomment-3517995745)
From the [issue](https://github.com/bitcoin/bitcoin/issues/29618#issuecomment-2388394165) that prompted this:
> I asked for this because of a friend in a country where they are having issues, very real issues and they did not want to doxx themselves
I still think that this is misguided and can get people into "very real issues" if such an option gives the impression that it:
1. Hides the fact that you run a bitcoin node. It does not at all because you will still connect to others at port
...
💬 fanquake commented on pull request "guix: Use UCRT runtime for Windows release binaries":
(https://github.com/bitcoin/bitcoin/pull/33593#issuecomment-3518009942)
Guix Build (aarch64):
```bash
451630ecff800ab320a9d5ad8062758df9d700310690110e764c916ae4c8121e guix-build-527acc5ee497/output/dist-archive/bitcoin-527acc5ee497.tar.gz
bf19a3b8e9e9cf609102c38cd6c00dca4d2645f66ae3af591f29fdeceef7b6cf guix-build-527acc5ee497/output/x86_64-w64-mingw32/SHA256SUMS.part
b69dc956f6fd6bb9b4e20e5f4d29eb4ef74e450d250346bf0450cc051b5cfa95 guix-build-527acc5ee497/output/x86_64-w64-mingw32/bitcoin-527acc5ee497-win64-codesigning.tar.gz
9e44c7635597430ee32fb26dff8fcd326
...
(https://github.com/bitcoin/bitcoin/pull/33593#issuecomment-3518009942)
Guix Build (aarch64):
```bash
451630ecff800ab320a9d5ad8062758df9d700310690110e764c916ae4c8121e guix-build-527acc5ee497/output/dist-archive/bitcoin-527acc5ee497.tar.gz
bf19a3b8e9e9cf609102c38cd6c00dca4d2645f66ae3af591f29fdeceef7b6cf guix-build-527acc5ee497/output/x86_64-w64-mingw32/SHA256SUMS.part
b69dc956f6fd6bb9b4e20e5f4d29eb4ef74e450d250346bf0450cc051b5cfa95 guix-build-527acc5ee497/output/x86_64-w64-mingw32/bitcoin-527acc5ee497-win64-codesigning.tar.gz
9e44c7635597430ee32fb26dff8fcd326
...
💬 kanzure commented on issue "dnsseed.bitcoin.dashjr-list-of-p2p-nodes.us appears to be violating DNS seed policy":
(https://github.com/bitcoin/bitcoin/issues/33734#issuecomment-3518043741)
I strongly object to using or appealing to policy to decide on outcomes for this issue. It's the same reason why you should never enter into a street fight: anybody dumb enough to enter a street fight with you is going to be much crazier than you, more heavily armed, less to lose, etc. It's the same thing with policy, you'll just be inviting endless policy argumentation from governancepilled people when in reality our actual goal was to building Bitcoin Core and developing bitcoin, not policy or
...
(https://github.com/bitcoin/bitcoin/issues/33734#issuecomment-3518043741)
I strongly object to using or appealing to policy to decide on outcomes for this issue. It's the same reason why you should never enter into a street fight: anybody dumb enough to enter a street fight with you is going to be much crazier than you, more heavily armed, less to lose, etc. It's the same thing with policy, you'll just be inviting endless policy argumentation from governancepilled people when in reality our actual goal was to building Bitcoin Core and developing bitcoin, not policy or
...
📝 hebasto opened a pull request: "depends, doc: Learn `x86_64-w64-mingw32ucrt` host and document it"
(https://github.com/bitcoin/bitcoin/pull/33857)
This PR is part of the ongoing effort to migrate to the modern UCRT runtime for cross-compiled Windows binaries, including release builds.
For more details about this migration, see:
- https://github.com/bitcoin/bitcoin/issues/30210
- https://github.com/bitcoin/bitcoin/pull/33593
- https://github.com/bitcoin/bitcoin/pull/33764
The changes in `depends/hosts/mingw32.mk` enable automatic detection of cross-compilers for Windows + UCRT, removing the need to specify them explicitly, as shown
...
(https://github.com/bitcoin/bitcoin/pull/33857)
This PR is part of the ongoing effort to migrate to the modern UCRT runtime for cross-compiled Windows binaries, including release builds.
For more details about this migration, see:
- https://github.com/bitcoin/bitcoin/issues/30210
- https://github.com/bitcoin/bitcoin/pull/33593
- https://github.com/bitcoin/bitcoin/pull/33764
The changes in `depends/hosts/mingw32.mk` enable automatic detection of cross-compilers for Windows + UCRT, removing the need to specify them explicitly, as shown
...
🤔 mzumsande reviewed a pull request: "validation: fix assumevalid is ignored during reindex"
(https://github.com/bitcoin/bitcoin/pull/33854#pullrequestreview-3449234404)
Have you tried this out on signet or mainnet?
I haven't yet, but just from looking at the code I would suspect that we now
1. do the -reindex part without connecting any blocks (except genesis [here](https://github.com/bitcoin/bitcoin/blob/138726a6f8101e0fe7e9ae701ef17b37fcbdee73/src/validation.cpp#L5161))
2. omplete headers-sync with a peer until minchainwork
3. Download the first block we don't have on disk from a peer and only then call `ActivateBestChain()`
4. try to connect that bl
...
(https://github.com/bitcoin/bitcoin/pull/33854#pullrequestreview-3449234404)
Have you tried this out on signet or mainnet?
I haven't yet, but just from looking at the code I would suspect that we now
1. do the -reindex part without connecting any blocks (except genesis [here](https://github.com/bitcoin/bitcoin/blob/138726a6f8101e0fe7e9ae701ef17b37fcbdee73/src/validation.cpp#L5161))
2. omplete headers-sync with a peer until minchainwork
3. Download the first block we don't have on disk from a peer and only then call `ActivateBestChain()`
4. try to connect that bl
...
💬 hebasto commented on pull request "guix: Use UCRT runtime for Windows release binaries":
(https://github.com/bitcoin/bitcoin/pull/33593#issuecomment-3518140890)
My Guix build:
```
aarch64
451630ecff800ab320a9d5ad8062758df9d700310690110e764c916ae4c8121e guix-build-527acc5ee497/output/dist-archive/bitcoin-527acc5ee497.tar.gz
bf19a3b8e9e9cf609102c38cd6c00dca4d2645f66ae3af591f29fdeceef7b6cf guix-build-527acc5ee497/output/x86_64-w64-mingw32/SHA256SUMS.part
b69dc956f6fd6bb9b4e20e5f4d29eb4ef74e450d250346bf0450cc051b5cfa95 guix-build-527acc5ee497/output/x86_64-w64-mingw32/bitcoin-527acc5ee497-win64-codesigning.tar.gz
9e44c7635597430ee32fb26dff8fcd3261f
...
(https://github.com/bitcoin/bitcoin/pull/33593#issuecomment-3518140890)
My Guix build:
```
aarch64
451630ecff800ab320a9d5ad8062758df9d700310690110e764c916ae4c8121e guix-build-527acc5ee497/output/dist-archive/bitcoin-527acc5ee497.tar.gz
bf19a3b8e9e9cf609102c38cd6c00dca4d2645f66ae3af591f29fdeceef7b6cf guix-build-527acc5ee497/output/x86_64-w64-mingw32/SHA256SUMS.part
b69dc956f6fd6bb9b4e20e5f4d29eb4ef74e450d250346bf0450cc051b5cfa95 guix-build-527acc5ee497/output/x86_64-w64-mingw32/bitcoin-527acc5ee497-win64-codesigning.tar.gz
9e44c7635597430ee32fb26dff8fcd3261f
...
💬 Sjors commented on pull request "mining: add getCoinbase()":
(https://github.com/bitcoin/bitcoin/pull/33819#issuecomment-3518142243)
It turns out that using the `getCoinbase()` result directly in the Python test led to memory management related errors. Parts of the coinbase were dropped by the time of the second `checkBlock()`.
Rather than debug (our use of) PyCapnp, I just introduced a `@dataclass` for `CoinbaseTemplateData`, so we fully own it.
(https://github.com/bitcoin/bitcoin/pull/33819#issuecomment-3518142243)
It turns out that using the `getCoinbase()` result directly in the Python test led to memory management related errors. Parts of the coinbase were dropped by the time of the second `checkBlock()`.
Rather than debug (our use of) PyCapnp, I just introduced a `@dataclass` for `CoinbaseTemplateData`, so we fully own it.
💬 ismaelsadeeq commented on pull request "Cluster mempool":
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2514720362)
missed that, yeah, you are right.
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2514720362)
missed that, yeah, you are right.