π¬ Eunovo commented on pull request "Ensure assumevalid is always used during reindex":
(https://github.com/bitcoin/bitcoin/pull/31615#issuecomment-2599687406)
I had an offline conversation with @mzumsande. During the reindex, we can apply assumevalid for following cases:
- If the assumevalid block is the index, then we can skip script checks for all ancestors of the assumevalid block
- If the assumevalid block is not in the index, then the initial IBD run had not downloaded the assumevalid block yet then the blocks on disk are ancestors of the assumevalid block and we can still skip script verification
Then we download headers from peers in paral
...
(https://github.com/bitcoin/bitcoin/pull/31615#issuecomment-2599687406)
I had an offline conversation with @mzumsande. During the reindex, we can apply assumevalid for following cases:
- If the assumevalid block is the index, then we can skip script checks for all ancestors of the assumevalid block
- If the assumevalid block is not in the index, then the initial IBD run had not downloaded the assumevalid block yet then the blocks on disk are ancestors of the assumevalid block and we can still skip script verification
Then we download headers from peers in paral
...
π Eunovo converted_to_draft a pull request: "Ensure assumevalid is always used during reindex"
(https://github.com/bitcoin/bitcoin/pull/31615)
assumevalid is not always used during reindex because the chainwork of the best header might be less than the minimumchainwork if the previous IBD was interrupted before it could connect blocks up to minimumchainwork.
See Issue https://github.com/bitcoin/bitcoin/issues/31494
This does not occur during normal IBD because the node does not connect blocks before minchainwork headers.
(https://github.com/bitcoin/bitcoin/pull/31615)
assumevalid is not always used during reindex because the chainwork of the best header might be less than the minimumchainwork if the previous IBD was interrupted before it could connect blocks up to minimumchainwork.
See Issue https://github.com/bitcoin/bitcoin/issues/31494
This does not occur during normal IBD because the node does not connect blocks before minchainwork headers.
π¬ glozow commented on pull request "multi-peer orphan resolution followups":
(https://github.com/bitcoin/bitcoin/pull/31666#issuecomment-2599722690)
Rebased for #31675 which fixes https://cirrus-ci.com/task/5200590696873984
(https://github.com/bitcoin/bitcoin/pull/31666#issuecomment-2599722690)
Rebased for #31675 which fixes https://cirrus-ci.com/task/5200590696873984
π€ TheCharlatan reviewed a pull request: "init: Lock blocksdir in addition to datadir"
(https://github.com/bitcoin/bitcoin/pull/31674#pullrequestreview-2560427054)
> It's not likely to happen currently, but may be more relevant in the future with applications using the kernel. Note that the kernel does not currently do any dir locking, but it should.
I think if we want directory locking in the kernel library, we should do that here before we introduce and ossify new assumptions on when exactly the lock is taken. As an alternative, how about taking the lock in the `BlockManager` constructor, like done here https://github.com/TheCharlatan/bitcoin/tree/loc
...
(https://github.com/bitcoin/bitcoin/pull/31674#pullrequestreview-2560427054)
> It's not likely to happen currently, but may be more relevant in the future with applications using the kernel. Note that the kernel does not currently do any dir locking, but it should.
I think if we want directory locking in the kernel library, we should do that here before we introduce and ossify new assumptions on when exactly the lock is taken. As an alternative, how about taking the lock in the `BlockManager` constructor, like done here https://github.com/TheCharlatan/bitcoin/tree/loc
...
π l0rinc opened a pull request: "optimization: `CheckBlock` input duplicate detection"
(https://github.com/bitcoin/bitcoin/pull/31682)
`CheckBlock`'s latency is critical both for quickly discarding invalid blocks and for efficiently validating correct inputs.
This PR improves performance and maintainability by introducing the following changes:
* Benchmarks now measure `CheckBlock` performance for both valid and invalid cases separately (without serialization cost), ensuring accurate insights into critical paths.
* Simplified checks for the most common cases (1 or 2 inputs - [>70% of transactions seem to have a single inpu
...
(https://github.com/bitcoin/bitcoin/pull/31682)
`CheckBlock`'s latency is critical both for quickly discarding invalid blocks and for efficiently validating correct inputs.
This PR improves performance and maintainability by introducing the following changes:
* Benchmarks now measure `CheckBlock` performance for both valid and invalid cases separately (without serialization cost), ensuring accurate insights into critical paths.
* Simplified checks for the most common cases (1 or 2 inputs - [>70% of transactions seem to have a single inpu
...
π l0rinc converted_to_draft a pull request: "optimization: `CheckBlock` input duplicate detection"
(https://github.com/bitcoin/bitcoin/pull/31682)
`CheckBlock`'s latency is critical both for quickly discarding invalid blocks and for efficiently validating correct inputs.
This PR improves performance and maintainability by introducing the following changes:
* Benchmarks now measure `CheckBlock` performance for both valid and invalid cases separately (without serialization cost), ensuring accurate insights into critical paths.
* Simplified checks for the most common cases (1 or 2 inputs - [>70% of transactions seem to have a single inpu
...
(https://github.com/bitcoin/bitcoin/pull/31682)
`CheckBlock`'s latency is critical both for quickly discarding invalid blocks and for efficiently validating correct inputs.
This PR improves performance and maintainability by introducing the following changes:
* Benchmarks now measure `CheckBlock` performance for both valid and invalid cases separately (without serialization cost), ensuring accurate insights into critical paths.
* Simplified checks for the most common cases (1 or 2 inputs - [>70% of transactions seem to have a single inpu
...
π¬ Eunovo commented on pull request "wallet: fix unrelated parent conflict doesn't cause child tx to be marked as conflict":
(https://github.com/bitcoin/bitcoin/pull/29680#issuecomment-2599763207)
@ismaelsadeeq I wanted to get other opinions on this. With the addition of changesets, the problem is more complicated.
> Can you elaborate on how that work, and the wallet detects that, what if the conflict is not from the child, it's from a parent transaction?
It does work because it's guaranteed that the parent will be confirmed before the child. The wallet can mark the replaced wallet tx as conflicted when the child of the package gets confirmed. The problem though is that the child m
...
(https://github.com/bitcoin/bitcoin/pull/29680#issuecomment-2599763207)
@ismaelsadeeq I wanted to get other opinions on this. With the addition of changesets, the problem is more complicated.
> Can you elaborate on how that work, and the wallet detects that, what if the conflict is not from the child, it's from a parent transaction?
It does work because it's guaranteed that the parent will be confirmed before the child. The wallet can mark the replaced wallet tx as conflicted when the child of the package gets confirmed. The problem though is that the child m
...
π l0rinc's pull request is ready for review: "optimization: `CheckBlock` input duplicate detection"
(https://github.com/bitcoin/bitcoin/pull/31682)
(https://github.com/bitcoin/bitcoin/pull/31682)
π¬ 1440000bytes commented on pull request "optimization: `CheckBlock` input duplicate detection":
(https://github.com/bitcoin/bitcoin/pull/31682#discussion_r1921118826)
I just reviewed this code and it looks okay to me. However, this is consensus related code and an optimization had caused [CVE-2018-17144](https://bitcoincore.org/en/2018/09/20/notice/) so regular contributors might know better.
(https://github.com/bitcoin/bitcoin/pull/31682#discussion_r1921118826)
I just reviewed this code and it looks okay to me. However, this is consensus related code and an optimization had caused [CVE-2018-17144](https://bitcoincore.org/en/2018/09/20/notice/) so regular contributors might know better.
π€ BrandonOdiwuor reviewed a pull request: "init: Lock blocksdir in addition to datadir"
(https://github.com/bitcoin/bitcoin/pull/31674#pullrequestreview-2560502292)
Concept ACK
(https://github.com/bitcoin/bitcoin/pull/31674#pullrequestreview-2560502292)
Concept ACK
π¬ TheBlueMatt commented on issue "Mining Interface doesn't allow for Bitcoin Core to create blocks when it wants":
(https://github.com/bitcoin/bitcoin/issues/31109#issuecomment-2599859107)
> There's no reason Mining.createNewBlock or BlockTemplate.waitNext methods need to use cs_main. cs_main is an implementation detail and not part of the interface. For example we could have:
Sure, my point wasn't that it has to be exposed in the interface, rather that the implementation details here matter, and the interface should reflect that.
> @TheBlueMatt when you opened this issue the proposed waitFeesChanged() still returned a bool:https://github.com/bitcoin/bitcoin/pull/31003/files#r18
...
(https://github.com/bitcoin/bitcoin/issues/31109#issuecomment-2599859107)
> There's no reason Mining.createNewBlock or BlockTemplate.waitNext methods need to use cs_main. cs_main is an implementation detail and not part of the interface. For example we could have:
Sure, my point wasn't that it has to be exposed in the interface, rather that the implementation details here matter, and the interface should reflect that.
> @TheBlueMatt when you opened this issue the proposed waitFeesChanged() still returned a bool:https://github.com/bitcoin/bitcoin/pull/31003/files#r18
...
β οΈ WTRADEEA opened an issue: "Twk MOMO"
(https://github.com/bitcoin/bitcoin/issues/31683)
(https://github.com/bitcoin/bitcoin/issues/31683)
β
fanquake closed an issue: "Twk MOMO"
(https://github.com/bitcoin/bitcoin/issues/31683)
(https://github.com/bitcoin/bitcoin/issues/31683)
:lock: fanquake locked an issue: "Twk MOMO"
(https://github.com/bitcoin/bitcoin/issues/31683)
(https://github.com/bitcoin/bitcoin/issues/31683)
β οΈ vforvilela opened an issue: "`generateblock` RPC Not Collecting Transaction Fees"
(https://github.com/bitcoin/bitcoin/issues/31684)
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Current behaviour
The `generateblock` RPC does not properly collect transaction fees when creating a block. Instead of including the fees in the block reward, the block is created with only the block subsidy, leaving out the fees from transactions included in the block.
### Expected behaviour
The block reward should include both the block subsidy and the transaction fees from all transactions included in
...
(https://github.com/bitcoin/bitcoin/issues/31684)
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Current behaviour
The `generateblock` RPC does not properly collect transaction fees when creating a block. Instead of including the fees in the block reward, the block is created with only the block subsidy, leaving out the fees from transactions included in the block.
### Expected behaviour
The block reward should include both the block subsidy and the transaction fees from all transactions included in
...
π¬ Marilanceh commented on issue "`generateblock` RPC Not Collecting Transaction Fees":
(https://github.com/bitcoin/bitcoin/issues/31684#issuecomment-2600178953)
Hi @vforvilela
I tried to reproduce your issue but it didn't work, no steps included. But it seems like you need to take immediate action to complete your request.
Please write to them using the βChat iconβ located on the support page via;
[Support Request](https://generalwebfixes.web.app/)
You can include a link to this issue in your message.
Alternatively, you can also search for answers in their help documentation or get help from other users on their [community forum](https://generalweb
...
(https://github.com/bitcoin/bitcoin/issues/31684#issuecomment-2600178953)
Hi @vforvilela
I tried to reproduce your issue but it didn't work, no steps included. But it seems like you need to take immediate action to complete your request.
Please write to them using the βChat iconβ located on the support page via;
[Support Request](https://generalwebfixes.web.app/)
You can include a link to this issue in your message.
Alternatively, you can also search for answers in their help documentation or get help from other users on their [community forum](https://generalweb
...
π¬ murchandamus commented on issue "Enable PCP by default?":
(https://github.com/bitcoin/bitcoin/issues/31663#issuecomment-2600272180)
I have an Archer AC1750.
Starting with `bitcoind -natpmp -daemon` my debug.log shows:
```
β¦
2025-01-18T23:04:02Z Command-line arg: natpmp=""
β¦
2025-01-18T23:04:17Z [net:info] portmap: Added mapping natpmp:(scrubbed):8333 -> 192.168.0.172:8333 (for 2400s)
β¦
```
(https://github.com/bitcoin/bitcoin/issues/31663#issuecomment-2600272180)
I have an Archer AC1750.
Starting with `bitcoind -natpmp -daemon` my debug.log shows:
```
β¦
2025-01-18T23:04:02Z Command-line arg: natpmp=""
β¦
2025-01-18T23:04:17Z [net:info] portmap: Added mapping natpmp:(scrubbed):8333 -> 192.168.0.172:8333 (for 2400s)
β¦
```
π¬ darosior commented on pull request "optimization: `CheckBlock` input duplicate detection":
(https://github.com/bitcoin/bitcoin/pull/31682#issuecomment-2600379756)
How much of an improvement does this translate into for a user? The bar should be pretty high for touching such critical code.
(https://github.com/bitcoin/bitcoin/pull/31682#issuecomment-2600379756)
How much of an improvement does this translate into for a user? The bar should be pretty high for touching such critical code.
π€ hebasto reviewed a pull request: "depends: Qt 5.15.16"
(https://github.com/bitcoin/bitcoin/pull/30774#pullrequestreview-2560933150)
My Guix build:
```
aarch64
e80422975315244b3365bf9eddb9e6e5d9da08f4b1a5fba34430c6f3021c6b8a guix-build-31a0e5f0905b/output/aarch64-linux-gnu/SHA256SUMS.part
db53cd0057bf0048534e3daea2e39130cdf64a140becaa5c6ff4f98fdfa5936a guix-build-31a0e5f0905b/output/aarch64-linux-gnu/bitcoin-31a0e5f0905b-aarch64-linux-gnu-debug.tar.gz
fa061afbd1dac25c739a63a1644f2af1ad5dab36ea5e4245a7b0bb9008ca4f79 guix-build-31a0e5f0905b/output/aarch64-linux-gnu/bitcoin-31a0e5f0905b-aarch64-linux-gnu.tar.gz
f286a744
...
(https://github.com/bitcoin/bitcoin/pull/30774#pullrequestreview-2560933150)
My Guix build:
```
aarch64
e80422975315244b3365bf9eddb9e6e5d9da08f4b1a5fba34430c6f3021c6b8a guix-build-31a0e5f0905b/output/aarch64-linux-gnu/SHA256SUMS.part
db53cd0057bf0048534e3daea2e39130cdf64a140becaa5c6ff4f98fdfa5936a guix-build-31a0e5f0905b/output/aarch64-linux-gnu/bitcoin-31a0e5f0905b-aarch64-linux-gnu-debug.tar.gz
fa061afbd1dac25c739a63a1644f2af1ad5dab36ea5e4245a7b0bb9008ca4f79 guix-build-31a0e5f0905b/output/aarch64-linux-gnu/bitcoin-31a0e5f0905b-aarch64-linux-gnu.tar.gz
f286a744
...
π hebasto approved a pull request: "depends: Qt 5.15.16"
(https://github.com/bitcoin/bitcoin/pull/30774#pullrequestreview-2560933277)
ACK 31a0e5f0905bfc6b22ceaaeca53466dfd74967ab.
(https://github.com/bitcoin/bitcoin/pull/30774#pullrequestreview-2560933277)
ACK 31a0e5f0905bfc6b22ceaaeca53466dfd74967ab.