π¬ ajtowns commented on pull request "build: add `-W*-whitespace`":
(https://github.com/bitcoin/bitcoin/pull/32482#issuecomment-3506876620)
Concept ACK. The large commits here should be scripted-diffs though. I believe the following works, if expand/sponge are available:
```
scripted-diff: univalue: change leading whitespace to spaces
-BEGIN VERIFY SCRIPT-
sed -i 's/^\t/ /' src/univalue/include/univalue_escapes.h
-END VERIFY SCRIPT-
```
```
scripted-diff: crypto: remove tabs and trailing whitespace in sha256_sse4.cpp
-BEGIN VERIFY SCRIPT-
expand -t4 src/crypto/sha256_sse4.cpp | sed 's/ *$//' | sponge src/crypto
...
(https://github.com/bitcoin/bitcoin/pull/32482#issuecomment-3506876620)
Concept ACK. The large commits here should be scripted-diffs though. I believe the following works, if expand/sponge are available:
```
scripted-diff: univalue: change leading whitespace to spaces
-BEGIN VERIFY SCRIPT-
sed -i 's/^\t/ /' src/univalue/include/univalue_escapes.h
-END VERIFY SCRIPT-
```
```
scripted-diff: crypto: remove tabs and trailing whitespace in sha256_sse4.cpp
-BEGIN VERIFY SCRIPT-
expand -t4 src/crypto/sha256_sse4.cpp | sed 's/ *$//' | sponge src/crypto
...
π 151henry151 opened a pull request: "Check required interfaces before generating manpages"
(https://github.com/bitcoin/bitcoin/pull/33828)
Guard manpage generation by reading CMakeCache.txt and exiting if HAVE_SYSTEM, ENABLE_WALLET, or WITH_ZMQ are off, and provide a short hint so contributors rebuild with the right flags instead of committing incomplete manpages.
Fixes #17506
(https://github.com/bitcoin/bitcoin/pull/33828)
Guard manpage generation by reading CMakeCache.txt and exiting if HAVE_SYSTEM, ENABLE_WALLET, or WITH_ZMQ are off, and provide a short hint so contributors rebuild with the right flags instead of committing incomplete manpages.
Fixes #17506
π¬ ajtowns commented on pull request "Cluster mempool":
(https://github.com/bitcoin/bitcoin/pull/33629#issuecomment-3506898619)
> FYI for reviewers: the insertion of the `AssertLockHeld()` in txmempool.h in that commit is what made the bug easy to reproduce in our tests (using a debug build).
AIUI, constructors and destructors ignore lock annotations `~ChangeSet() EXCLUSIVE_LOCKS_REQUIRED(m_pool->cs) { AssertLockHeld(m_pool->cs);` -- so a runtime assertion makes sense. (Short of changing the thread safety model entirely, I guess)
(https://github.com/bitcoin/bitcoin/pull/33629#issuecomment-3506898619)
> FYI for reviewers: the insertion of the `AssertLockHeld()` in txmempool.h in that commit is what made the bug easy to reproduce in our tests (using a debug build).
AIUI, constructors and destructors ignore lock annotations `~ChangeSet() EXCLUSIVE_LOCKS_REQUIRED(m_pool->cs) { AssertLockHeld(m_pool->cs);` -- so a runtime assertion makes sense. (Short of changing the thread safety model entirely, I guess)
π€ TheCharlatan reviewed a pull request: "kernel: trim Chain interface"
(https://github.com/bitcoin/bitcoin/pull/33820#pullrequestreview-3438917702)
Concept ACK
These were introduced before we had a dedicated iterator for traversing the chain. At this point, their benefit (thread safety) is kind of marginal.
(https://github.com/bitcoin/bitcoin/pull/33820#pullrequestreview-3438917702)
Concept ACK
These were introduced before we had a dedicated iterator for traversing the chain. At this point, their benefit (thread safety) is kind of marginal.
π¬ TheCharlatan commented on pull request "kernel: trim Chain interface":
(https://github.com/bitcoin/bitcoin/pull/33820#discussion_r2507308573)
I wonder if we should even keep these methods now. The previous calls to tip and genesis were at least thread safe (which these are no longer). I agree that it is not worth keeping them just for the sake of it, but also not sure if they still provide utility here.
(https://github.com/bitcoin/bitcoin/pull/33820#discussion_r2507308573)
I wonder if we should even keep these methods now. The previous calls to tip and genesis were at least thread safe (which these are no longer). I agree that it is not worth keeping them just for the sake of it, but also not sure if they still provide utility here.
π¬ brunoerg commented on issue "Fuzz: compare our AES implementation to AES-NI ":
(https://github.com/bitcoin/bitcoin/issues/27548#issuecomment-3507064396)
> @brunoerg perhaps something to add to bitcoinfuzz? Otherwise if cryptofuzz gets revived, that might also be something (if it wasn't already in there).
Since cryptofuzz is not alive anymore, we could have it on bitcoinfuzz. I will open an issue there.
(https://github.com/bitcoin/bitcoin/issues/27548#issuecomment-3507064396)
> @brunoerg perhaps something to add to bitcoinfuzz? Otherwise if cryptofuzz gets revived, that might also be something (if it wasn't already in there).
Since cryptofuzz is not alive anymore, we could have it on bitcoinfuzz. I will open an issue there.
β οΈ vortexowll opened an issue: "Submission of a Historical & Experiential Report on the Creation of Bitcoin β Request for Dialogue"
(https://github.com/bitcoin/bitcoin/issues/33829)
Hello Bitcoin Core contributors and community,
My name is Richard Krause. Iβve prepared a detailed document that combines a historical overview of the birth of Bitcoin and my firsthand account of parallel spiritual and computational frameworks of decentralization, sovereignty, energy circulation, and value.
The document is titled βParallel Origins: A Personal Reflection on the Creation of Bitcoin and the Hidden Architecture of Energy and Trust.β It explores the overlap between technological i
...
(https://github.com/bitcoin/bitcoin/issues/33829)
Hello Bitcoin Core contributors and community,
My name is Richard Krause. Iβve prepared a detailed document that combines a historical overview of the birth of Bitcoin and my firsthand account of parallel spiritual and computational frameworks of decentralization, sovereignty, energy circulation, and value.
The document is titled βParallel Origins: A Personal Reflection on the Creation of Bitcoin and the Hidden Architecture of Energy and Trust.β It explores the overlap between technological i
...
β
pinheadmz closed an issue: "Submission of a Historical & Experiential Report on the Creation of Bitcoin β Request for Dialogue"
(https://github.com/bitcoin/bitcoin/issues/33829)
(https://github.com/bitcoin/bitcoin/issues/33829)
π¬ pinheadmz commented on issue "Submission of a Historical & Experiential Report on the Creation of Bitcoin β Request for Dialogue":
(https://github.com/bitcoin/bitcoin/issues/33829#issuecomment-3507132268)
This should be posted on the [bitcoin-dev mailing list](https://groups.google.com/g/bitcoindev), the [Delving Bitcoin forum](https://delvingbitcoin.org/) or some other platform where broad, protocol-level concepts are discussed. Conceptual questions and most usage questions can be posted on [Stack Exchange](https://bitcoin.stackexchange.com/). The Bitcoin Core issue tracker is reserved for discussion about this specific software project only, its implementation and usage.
(https://github.com/bitcoin/bitcoin/issues/33829#issuecomment-3507132268)
This should be posted on the [bitcoin-dev mailing list](https://groups.google.com/g/bitcoindev), the [Delving Bitcoin forum](https://delvingbitcoin.org/) or some other platform where broad, protocol-level concepts are discussed. Conceptual questions and most usage questions can be posted on [Stack Exchange](https://bitcoin.stackexchange.com/). The Bitcoin Core issue tracker is reserved for discussion about this specific software project only, its implementation and usage.
π€ sfgroupltd78-gif reviewed a pull request: "refactor: Add missing include in bitcoinkernel_wrapper.h"
(https://github.com/bitcoin/bitcoin/pull/33825#pullrequestreview-3439072081)
with the pull request files athttps:
(https://github.com/bitcoin/bitcoin/pull/33825#pullrequestreview-3439072081)
with the pull request files athttps:
π¬ sfgroupltd78-gif commented on pull request "refactor: Add missing include in bitcoinkernel_wrapper.h":
(https://github.com/bitcoin/bitcoin/pull/33825#issuecomment-3507272109)
Fan
(https://github.com/bitcoin/bitcoin/pull/33825#issuecomment-3507272109)
Fan
π lancemitchell157-maker opened a pull request: "Create devcontainer.json"
(https://github.com/bitcoin/bitcoin/pull/33830)
<!--
*** Please remove the following help text before submitting: ***
Pull requests without a rationale and clear improvement may be closed
immediately.
GUI-related pull requests should be opened against
https://github.com/bitcoin-core/gui
first. See CONTRIBUTING.md
-->
<!--
Please provide clear motivation for your patch and explain how it improves
Bitcoin Core user experience or Bitcoin Core developer experience
significantly:
* Any test improvements or new tests that improv
...
(https://github.com/bitcoin/bitcoin/pull/33830)
<!--
*** Please remove the following help text before submitting: ***
Pull requests without a rationale and clear improvement may be closed
immediately.
GUI-related pull requests should be opened against
https://github.com/bitcoin-core/gui
first. See CONTRIBUTING.md
-->
<!--
Please provide clear motivation for your patch and explain how it improves
Bitcoin Core user experience or Bitcoin Core developer experience
significantly:
* Any test improvements or new tests that improv
...
π lancemitchell157-maker opened a pull request: "Create devcontainer.json"
(https://github.com/bitcoin/bitcoin/pull/33831)
<!--
*** Please remove the following help text before submitting: ***
Pull requests without a rationale and clear improvement may be closed
immediately.
GUI-related pull requests should be opened against
https://github.com/bitcoin-core/gui
first. See CONTRIBUTING.md
-->
<!--
Please provide clear motivation for your patch and explain how it improves
Bitcoin Core user experience or Bitcoin Core developer experience
significantly:
* Any test improvements or new tests that improv
...
(https://github.com/bitcoin/bitcoin/pull/33831)
<!--
*** Please remove the following help text before submitting: ***
Pull requests without a rationale and clear improvement may be closed
immediately.
GUI-related pull requests should be opened against
https://github.com/bitcoin-core/gui
first. See CONTRIBUTING.md
-->
<!--
Please provide clear motivation for your patch and explain how it improves
Bitcoin Core user experience or Bitcoin Core developer experience
significantly:
* Any test improvements or new tests that improv
...
π¬ waketraindev commented on issue "Cache headers in REST":
(https://github.com/bitcoin/bitcoin/issues/33809#issuecomment-3507829348)
Cache-Control headers can be easily handled at the nginx layer. Rather than adding this logic directly in Bitcoin REST code, it might make sense to include a sample nginx config under contrib/ with reasonable defaults for REST endpoints.
```
# Example include: rest-cache.conf
location /rest/block/ {
# Cache block lookups by hash for a long time (immutable)
if ($uri ~ "^/rest/block/[0-9a-f]+\.json$") {
add_header Cache-Control "public, max-age=31536000, immutable";
}
# C
...
(https://github.com/bitcoin/bitcoin/issues/33809#issuecomment-3507829348)
Cache-Control headers can be easily handled at the nginx layer. Rather than adding this logic directly in Bitcoin REST code, it might make sense to include a sample nginx config under contrib/ with reasonable defaults for REST endpoints.
```
# Example include: rest-cache.conf
location /rest/block/ {
# Cache block lookups by hash for a long time (immutable)
if ($uri ~ "^/rest/block/[0-9a-f]+\.json$") {
add_header Cache-Control "public, max-age=31536000, immutable";
}
# C
...
π¬ yancyribbens commented on pull request "docs: add doc comment for SRD selection algorithm":
(https://github.com/bitcoin/bitcoin/pull/33622#discussion_r2507900417)
I think I see now what you are getting on when you say "Budgeting separately". You're saying that by budgeting separately you are providing a value to be used for change_fee and any value used for change fee will be at least `CHANGE_LOWER`. If there is no other discussion on this i'll accept it and move on, but this is pretty confusing imo. It also doesn't make clear that you can just not "budget separately" and the change_fee will be equal to `CHANGE_LOWER`.
(https://github.com/bitcoin/bitcoin/pull/33622#discussion_r2507900417)
I think I see now what you are getting on when you say "Budgeting separately". You're saying that by budgeting separately you are providing a value to be used for change_fee and any value used for change fee will be at least `CHANGE_LOWER`. If there is no other discussion on this i'll accept it and move on, but this is pretty confusing imo. It also doesn't make clear that you can just not "budget separately" and the change_fee will be equal to `CHANGE_LOWER`.
π¬ yancyribbens commented on pull request "docs: add doc comment for SRD selection algorithm":
(https://github.com/bitcoin/bitcoin/pull/33622#discussion_r2507913429)
I think ideally a default parameter value is used here: `CAmount change_fee = CHANGE_LOWER`. That way it's made more clear that either you budget separately for the `change_fee` or it will default to CHANGE_LOWER. In most cases CHANGE_LOWER should be plenty for a change_fee.
(https://github.com/bitcoin/bitcoin/pull/33622#discussion_r2507913429)
I think ideally a default parameter value is used here: `CAmount change_fee = CHANGE_LOWER`. That way it's made more clear that either you budget separately for the `change_fee` or it will default to CHANGE_LOWER. In most cases CHANGE_LOWER should be plenty for a change_fee.
π¬ yancyribbens commented on pull request "docs: add doc comment for SRD selection algorithm":
(https://github.com/bitcoin/bitcoin/pull/33622#discussion_r2507937182)
I updated the documentation per out discussion here to read:
`
If the maximum weight is exceeded, the OutputGroups with the lowest effective value are removed from the selection until weight is acceptable. By removing the lowest effective value, the average effective value per weight of the selection is increased and thus reducing the average selection size. If a solution is found, the resulting selection will produce a change output with an amount of at least CHANGE_LOWER.
`
(https://github.com/bitcoin/bitcoin/pull/33622#discussion_r2507937182)
I updated the documentation per out discussion here to read:
`
If the maximum weight is exceeded, the OutputGroups with the lowest effective value are removed from the selection until weight is acceptable. By removing the lowest effective value, the average effective value per weight of the selection is increased and thus reducing the average selection size. If a solution is found, the resulting selection will produce a change output with an amount of at least CHANGE_LOWER.
`
π€ TheCharlatan reviewed a pull request: "kernel: Add block header support and validation"
(https://github.com/bitcoin/bitcoin/pull/33822#pullrequestreview-3439843515)
Approach ACK
(https://github.com/bitcoin/bitcoin/pull/33822#pullrequestreview-3439843515)
Approach ACK
π¬ TheCharlatan commented on pull request "kernel: Add block header support and validation":
(https://github.com/bitcoin/bitcoin/pull/33822#discussion_r2508027260)
Can you add `BOOST_CHECK_THROW(BlockHeader{hex_string_to_byte_vec("00")}, std::runtime_error);`?
(https://github.com/bitcoin/bitcoin/pull/33822#discussion_r2508027260)
Can you add `BOOST_CHECK_THROW(BlockHeader{hex_string_to_byte_vec("00")}, std::runtime_error);`?
π¬ TheCharlatan commented on pull request "kernel: Add block header support and validation":
(https://github.com/bitcoin/bitcoin/pull/33822#discussion_r2507927303)
I think the variable name `state` should just be kept.
(https://github.com/bitcoin/bitcoin/pull/33822#discussion_r2507927303)
I think the variable name `state` should just be kept.