Bitcoin Core Github
44 subscribers
121K links
Download Telegram
๐Ÿ’ฌ furszy commented on pull request "Introduce 'getblockfileinfo' RPC command":
(https://github.com/bitcoin/bitcoin/pull/27770#issuecomment-2054101285)
> I think this information is too low-level. In the past we've rejected changes that expose low-level information about our block storage because block files are not an external API, and exposing this kind of info limits our flexibility in regard to changing the block storage model.

Conceptually, I agree. But I don't think that the block storage model flexibility argument is the best for not doing this. We do have procedures tightly coupled to the current block storage model (e.g. the best ch
...
๐Ÿ’ฌ michaelwklein commented on issue "`WalletCreate{Encrypted/Plain}` benchmark crash on Windows":
(https://github.com/bitcoin/bitcoin/issues/29816#issuecomment-2054102603)
Hi @hebasto, @achow101 thanks for moderating the repository. @joinfuel is a project that assigns rewards to GitHub issues, developers simply to connect their GitHub via joinfuel.io to obtain the rewards. Is there someone we can talk to in Developer relations to have these comments approved? The community and the project itself and assign rewards to GitHub issues to promote open source projects.
๐Ÿ’ฌ laanwj commented on pull request "Introduce 'getblockfileinfo' RPC command":
(https://github.com/bitcoin/bitcoin/pull/27770#issuecomment-2054104846)
> Removing this new debug-only RPC command would be the least of our problems if we ever seek to change the storage model.

Sure, that's true. In that sense it's different than say, adding block file/pos to `getblock` info, as it doesn't affect the output of a common RPC.
๐Ÿ“ hebasto opened a pull request: "Reintroduce external signer support for Windows"
(https://github.com/bitcoin/bitcoin/pull/29868)
Based on upstream https://github.com/arun11299/cpp-subprocess/pull/99.

Partially reverts:
- https://github.com/bitcoin/bitcoin/pull/28967
- https://github.com/bitcoin/bitcoin/pull/29489

After this PR, we can proceed to actually remove the [unused code](https://github.com/bitcoin/bitcoin/pull/28981#pullrequestreview-1991272752) from `src/util/subprocess.hpp`.
๐Ÿ’ฌ fanquake commented on pull request "Reintroduce external signer support for Windows":
(https://github.com/bitcoin/bitcoin/pull/29868#discussion_r1564859345)
> ci: remove --enable-external-signer from win64 job

Why this is being reverted? This is already applied globally to the CI (and I'd say pointlessly so).
๐Ÿ’ฌ hebasto commented on pull request "Reintroduce external signer support for Windows":
(https://github.com/bitcoin/bitcoin/pull/29868#discussion_r1564860366)
Thanks! Dropped.
๐Ÿ’ฌ fanquake commented on pull request "Reintroduce external signer support for Windows":
(https://github.com/bitcoin/bitcoin/pull/29868#discussion_r1564861016)
Great, can you remove it from the global config here as well. Given it's not required or actually testing anything.
๐Ÿ’ฌ hebasto commented on pull request "Reintroduce external signer support for Windows":
(https://github.com/bitcoin/bitcoin/pull/29868#discussion_r1564897342)
> Great, can you remove it from the global config here as well. Given it's not required or actually testing anything.

I agree. Implemented.
๐Ÿ’ฌ laanwj commented on issue "contrib: add symbol-check test for non-existence of `vmova` instructions in Windows build":
(https://github.com/bitcoin/bitcoin/issues/28413#issuecomment-2054181503)
Is introducing a dependency on the python `capstone` binding acceptable here? It's not possible to do this check without a disassembler of some kind, we don't want to rely on calling out to `objdump`, and i'm not sure we want our own x86 mini-disassembler. Capstone is great for this and might help in future instruction security checks as well. But it's another build-time dep.
๐Ÿค” stickies-v reviewed a pull request: "[27.x] More backports and finalize"
(https://github.com/bitcoin/bitcoin/pull/29780#pullrequestreview-1999739645)
LGTM 4681f554bc6eb6f603512575de19bc52d08813e9 with a few release note nits

- backports mostly clean, 753c68dc0f02644f223d407b33000dce7a763056 being the exception because of LLVM version bump
- release notes look good and correspond with devwiki, quickly went through merges since v26.0 and couldn't see any major omissions
- i'm getting the same manpages output
๐Ÿ’ฌ stickies-v commented on pull request "[27.x] More backports and finalize":
(https://github.com/bitcoin/bitcoin/pull/29780#discussion_r1564914593)
Incorrect pull number

```suggestion
- Improved handling of empty settings.json files (#29144)
```
๐Ÿ’ฌ stickies-v commented on pull request "[27.x] More backports and finalize":
(https://github.com/bitcoin/bitcoin/pull/29780#discussion_r1564910118)
```suggestion
relaxed or disabled (e.g. with `-acceptnonstdtxn=1`). (#28948)
```
๐Ÿ’ฌ stickies-v commented on pull request "[27.x] More backports and finalize":
(https://github.com/bitcoin/bitcoin/pull/29780#discussion_r1564907583)
"This new format" right after talking about the legacy format is consusing imo.

Suggested rewrite 1)first explains the new format, 2) then describes how to fall back, 3) adds the PR number:

```
- The `mempool.dat` file created by -persistmempool or the savemempool RPC will
be written in a new format. This new format includes the XOR'ing of transaction
contents to mitigate issues where external programs (such as anti-virus) attempt
to interpret and potentially modify the file.


...
๐Ÿ’ฌ laanwj commented on pull request "build: special instruction check script":
(https://github.com/bitcoin/bitcoin/pull/26693#issuecomment-2054193483)
> cc @laanwj you might have some thoughts here?

i think this script makes sense, it's good to check that objects with special instructions don't contain a startup section (that will always run). Agree it should be part of the build process (guix at least), and ideally the CI, to be useful.
๐Ÿ’ฌ hebasto commented on pull request "build: Enable fuzz binary in MSVC":
(https://github.com/bitcoin/bitcoin/pull/29774#discussion_r1564950403)
My previous comments were a bit misleading because only [`%SystemRoot%`](https://learn.microsoft.com/en-us/windows/deployment/usmt/usmt-recognized-environment-variables) is required to be passed through into a subprocess.

From the Python [docs](https://docs.python.org/3/library/subprocess.html):
> If specified, `env` must provide any variables required for the program to execute. On Windows, in order to run a [side-by-side assembly](https://en.wikipedia.org/wiki/Side-by-Side_Assembly) the sp
...
๐Ÿ’ฌ hebasto commented on pull request "[WIP] build: remove need to test for endianness":
(https://github.com/bitcoin/bitcoin/pull/29852#issuecomment-2054214065)
> Concept ACK. Looking at the [leveldb godbolt link](https://godbolt.org/z/45S0ID), this is nicely optimized everywhere except MSVC.

However, the changes in MSVC generated assembly code look quite significant.

> I'm ok with a possible regression there for the sake of the cleanup.

I disagree. Before stacking another performance deterioration change on top of the pile of the currently unresolved performance issues in the MSVC builds, it would be nice to compare benchmarks in the first pla
...
๐Ÿค” tdb3 reviewed a pull request: "rpc: return warnings as an array instead of just a single one"
(https://github.com/bitcoin/bitcoin/pull/29845#pullrequestreview-1999801519)
ACK for 4b821915bf92082043d6cf60efb1a5faea0151db

Nice addition and great opportunistic cleanup of `GetWarnings()`.

Built and ran all unit and functional tests (all passed).
On signet, tested by running `getblockchaininfo` with
- no warnings, by supressing the pre-release warning with `if (false && !CLIENT_VERSION_IS_RELEASE)` and rebuilding,
- one warning (the pre-release warning)
- two warnings, the pre-release warning and date/time warning by manually setting the system clock back
...
๐Ÿ’ฌ tdb3 commented on pull request "rpc: return warnings as an array instead of just a single one":
(https://github.com/bitcoin/bitcoin/pull/29845#discussion_r1565033003)
nit: Looks like the old function comment header used Doxygen syntax. Would recommend keeping this style, but feel free to disregard this nit since the return type seems straightforward, and the function is small/digestible.

```diff
diff --git a/src/warnings.h b/src/warnings.h
index 0b8eb2c9a1..4ae05d4862 100644
--- a/src/warnings.h
+++ b/src/warnings.h
@@ -12,7 +12,10 @@ struct bilingual_str;

void SetMiscWarning(const bilingual_str& warning);
void SetfLargeWorkInvalidChainFound(
...
๐Ÿ’ฌ laanwj commented on issue "contrib: add symbol-check test for non-existence of `vmova` instructions in Windows build":
(https://github.com/bitcoin/bitcoin/issues/28413#issuecomment-2054821617)
For reference, with capstone this check is as simple as:
```python3
# Intelยฎ 64 and IA-32 Architectures Software Developerโ€™s Manual:
# chapter 14.9, table 14-22. Instructions Requiring Explicitly Aligned Memory
# chapter 15.7, Table 15-6. SIMD Instructions Requiring Explicitly Aligned Memory
#
# This amounts to the following instructions:
#
# instruction chapter 4.3 section
# --------------------------- ---------------------------------
# (V)MOVDQA xmm, mBBB
...
๐Ÿ’ฌ maflcko commented on issue "IBD performance regression in 27.0rc1 on Windows":
(https://github.com/bitcoin/bitcoin/issues/29785#issuecomment-2055816697)
Did someone with Windows try to enable the benchmarks in guix and compile them, and run them?