💬 achow101 commented on issue "Unusual "Wallet requires newer version" Error with wallet.dat on macOS, Even with Older Client":
(https://github.com/bitcoin/bitcoin/issues/32548#issuecomment-2889145174)
From your debug.log, it looks like it was opened successfully on 2025-05-18T09:23:00Z, but failed to open at the next run at 2025-05-18T09:23:59Z. Did you do anything to the wallet between these 2 runs of Bitcoin Core? There's less than a minute between them though, which is odd. If nothing was done between these 2 runs, then this suggests to me that the wallet file was randomly corrupted, possibly due to failing hardware or a cosmic ray.
The logs indicate that the version number of the wallet
...
(https://github.com/bitcoin/bitcoin/issues/32548#issuecomment-2889145174)
From your debug.log, it looks like it was opened successfully on 2025-05-18T09:23:00Z, but failed to open at the next run at 2025-05-18T09:23:59Z. Did you do anything to the wallet between these 2 runs of Bitcoin Core? There's less than a minute between them though, which is odd. If nothing was done between these 2 runs, then this suggests to me that the wallet file was randomly corrupted, possibly due to failing hardware or a cosmic ray.
The logs indicate that the version number of the wallet
...
💬 1440000bytes commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094597729)
> If this is the wrong home dir though then a user can just specify it manually using the -datadir= option.
I tested on Windows and it works with `-datadir=`
1. Installed bitcoin core v27.0 to sync a few signet blocks
2. Installed bitcoin core v29.0 to sync more blocks and create xor.dat file
3. Tried this tool which works only with `-datadir=` set
```
> cargo run --release
Finished `release` profile [optimized] target(s) in 0.11s
Running `target\release\blocks-xor.exe`
E
...
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094597729)
> If this is the wrong home dir though then a user can just specify it manually using the -datadir= option.
I tested on Windows and it works with `-datadir=`
1. Installed bitcoin core v27.0 to sync a few signet blocks
2. Installed bitcoin core v29.0 to sync more blocks and create xor.dat file
3. Tried this tool which works only with `-datadir=` set
```
> cargo run --release
Finished `release` profile [optimized] target(s) in 0.11s
Running `target\release\blocks-xor.exe`
E
...
🤔 tapcrafter reviewed a pull request: "RFC: script: short-circuit `GetLegacySigOpCount` for known scripts"
(https://github.com/bitcoin/bitcoin/pull/32532#pullrequestreview-2849025458)
Concept ACK 432ff7e736942c6dd6fc923300b5fa5f0f94c287.
Can't fully speak to the correctness of the refactor itself, still brushing up on my C++. So can't give a full ACK but left some questions instead.
<details>
<summay>Test protocol</summary>
New benchmark test on 2e8a9e17 (first commit of PR, before refactor):
```
| ns/sigops | sigops/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|
...
(https://github.com/bitcoin/bitcoin/pull/32532#pullrequestreview-2849025458)
Concept ACK 432ff7e736942c6dd6fc923300b5fa5f0f94c287.
Can't fully speak to the correctness of the refactor itself, still brushing up on my C++. So can't give a full ACK but left some questions instead.
<details>
<summay>Test protocol</summary>
New benchmark test on 2e8a9e17 (first commit of PR, before refactor):
```
| ns/sigops | sigops/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|
...
💬 tapcrafter commented on pull request "RFC: script: short-circuit `GetLegacySigOpCount` for known scripts":
(https://github.com/bitcoin/bitcoin/pull/32532#discussion_r2094559241)
Should the test case (`BOOST_AUTO_TEST_CASE(GetSigOpCount)`) also be renamed?
(https://github.com/bitcoin/bitcoin/pull/32532#discussion_r2094559241)
Should the test case (`BOOST_AUTO_TEST_CASE(GetSigOpCount)`) also be renamed?
💬 tapcrafter commented on pull request "RFC: script: short-circuit `GetLegacySigOpCount` for known scripts":
(https://github.com/bitcoin/bitcoin/pull/32532#discussion_r2094594388)
Same here, the original had the additional condition `&& script[1] == 0x04`.
(https://github.com/bitcoin/bitcoin/pull/32532#discussion_r2094594388)
Same here, the original had the additional condition `&& script[1] == 0x04`.
💬 tapcrafter commented on pull request "RFC: script: short-circuit `GetLegacySigOpCount` for known scripts":
(https://github.com/bitcoin/bitcoin/pull/32532#discussion_r2094560461)
Can we add `fAccurate=False` here?
(https://github.com/bitcoin/bitcoin/pull/32532#discussion_r2094560461)
Can we add `fAccurate=False` here?
💬 tapcrafter commented on pull request "RFC: script: short-circuit `GetLegacySigOpCount` for known scripts":
(https://github.com/bitcoin/bitcoin/pull/32532#discussion_r2094594352)
Looks like this check omits the `&& (script[1] == 0x02 || script[1] == 0x03)` part that was in the original `IsToPubKey` function. Not sure if this is on purpose?
(https://github.com/bitcoin/bitcoin/pull/32532#discussion_r2094594352)
Looks like this check omits the `&& (script[1] == 0x02 || script[1] == 0x03)` part that was in the original `IsToPubKey` function. Not sure if this is on purpose?
💬 tapcrafter commented on pull request "RFC: script: short-circuit `GetLegacySigOpCount` for known scripts":
(https://github.com/bitcoin/bitcoin/pull/32532#discussion_r2094593425)
Not sure if we can include `interpreter.h` here, but if yes, we could use `WITNESS_V0_KEYHASH_SIZE`. And the other constants too, for extra clarity (`WITNESS_V0_SCRIPTHASH_SIZE = 32`, `WITNESS_V1_TAPROOT_SIZE = 32`).
(https://github.com/bitcoin/bitcoin/pull/32532#discussion_r2094593425)
Not sure if we can include `interpreter.h` here, but if yes, we could use `WITNESS_V0_KEYHASH_SIZE`. And the other constants too, for extra clarity (`WITNESS_V0_SCRIPTHASH_SIZE = 32`, `WITNESS_V1_TAPROOT_SIZE = 32`).
💬 l0rinc commented on pull request "refactor: Remove workaround for resolved MSVC bug":
(https://github.com/bitcoin/bitcoin/pull/32552#issuecomment-2889148808)
I have also tried the same in: https://github.com/bitcoin/bitcoin/pull/31991#issuecomment-2724946307
(https://github.com/bitcoin/bitcoin/pull/32552#issuecomment-2889148808)
I have also tried the same in: https://github.com/bitcoin/bitcoin/pull/31991#issuecomment-2724946307
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094599201)
@1440000bytes thanks for testing! Unfortunately this tool will only work for mainnet. It looks like I also have to rename `Local` to `Roaming` in the Windows default datadir.
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094599201)
@1440000bytes thanks for testing! Unfortunately this tool will only work for mainnet. It looks like I also have to rename `Local` to `Roaming` in the Windows default datadir.
💬 1440000bytes commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094601966)
I think new bitcoin core versions use `local` for data directory. So, you will have to support both `local` and `roaming` in this tool.
Yes, it works for mainnet. I re-tested.
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094601966)
I think new bitcoin core versions use `local` for data directory. So, you will have to support both `local` and `roaming` in this tool.
Yes, it works for mainnet. I re-tested.
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094602422)
@1440000bytes do you know which version switched to `Local`? If it was 28 or 29 then we only have to support `Roaming`.
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094602422)
@1440000bytes do you know which version switched to `Local`? If it was 28 or 29 then we only have to support `Roaming`.
📝 achow101 opened a pull request: "wallet: Fix logging of wallet version"
(https://github.com/bitcoin/bitcoin/pull/32553)
The wallet's version (in the minversion record) needs to be logged only after we have read it from disk. Otherwise, we always log the lowest version number of 10500 which is incorrect. Furthermore, it doesn't make sense to log the last client version number if the record didn't exist. This is a regression caused by #26021.
The wallet file version logging is moved inside of `LoadMinVersion` so that it is logged after the record is read. It will also log unconditionally if a version is read so
...
(https://github.com/bitcoin/bitcoin/pull/32553)
The wallet's version (in the minversion record) needs to be logged only after we have read it from disk. Otherwise, we always log the lowest version number of 10500 which is incorrect. Furthermore, it doesn't make sense to log the last client version number if the record didn't exist. This is a regression caused by #26021.
The wallet file version logging is moved inside of `LoadMinVersion` so that it is logged after the record is read. It will also log unconditionally if a version is read so
...
🤔 tapcrafter reviewed a pull request: "node: cap `-maxmempool` and `-dbcache` values for 32-bit"
(https://github.com/bitcoin/bitcoin/pull/32530#pullrequestreview-2849067709)
tACK e88056ba323da9127775a41db92835378600d9fc
<details>
<summary>Test protocol</summary>
# Restrictions on 32-bit machine
Running on a `linux-armv7l` machine, the `-maxmempool` option is correctly validated on startup:
```shell
$ uname -a
Linux debian 6.1.0-35-armmp-lpae #1 SMP Debian 6.1.137-1 (2025-05-07) armv7l GNU/Linux
$ ./bitcoind -regtest -maxmempool=4096
Error: -maxmempool is set to 4096 but can't be over 500 MB on 32-bit systems
```
However, the `-dbcache` v
...
(https://github.com/bitcoin/bitcoin/pull/32530#pullrequestreview-2849067709)
tACK e88056ba323da9127775a41db92835378600d9fc
<details>
<summary>Test protocol</summary>
# Restrictions on 32-bit machine
Running on a `linux-armv7l` machine, the `-maxmempool` option is correctly validated on startup:
```shell
$ uname -a
Linux debian 6.1.0-35-armmp-lpae #1 SMP Debian 6.1.137-1 (2025-05-07) armv7l GNU/Linux
$ ./bitcoind -regtest -maxmempool=4096
Error: -maxmempool is set to 4096 but can't be over 500 MB on 32-bit systems
```
However, the `-dbcache` v
...
💬 tapcrafter commented on pull request "node: cap `-maxmempool` and `-dbcache` values for 32-bit":
(https://github.com/bitcoin/bitcoin/pull/32530#discussion_r2094603515)
Should we unify the behavior with the `-maxmempool` option and error out instead of silently truncating the value?
Or is the rationale that the DB cache only affects performance while the mempool size will have an impact on the operation of the node and therefore is more important to notify the user?
(https://github.com/bitcoin/bitcoin/pull/32530#discussion_r2094603515)
Should we unify the behavior with the `-maxmempool` option and error out instead of silently truncating the value?
Or is the rationale that the DB cache only affects performance while the mempool size will have an impact on the operation of the node and therefore is more important to notify the user?
💬 1440000bytes commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094604563)
v28.0 https://github.com/bitcoin/bitcoin/pull/27064
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094604563)
v28.0 https://github.com/bitcoin/bitcoin/pull/27064
💬 l3x3l commented on issue "Unusual "Wallet requires newer version" Error with wallet.dat on macOS, Even with Older Client":
(https://github.com/bitcoin/bitcoin/issues/32548#issuecomment-2889167371)
How can I execute the pywallet Option?
On Sun, May 18, 2025 at 12:36 PM Ava Chow ***@***.***> wrote:
> *achow101* left a comment (bitcoin/bitcoin#32548)
> <https://github.com/bitcoin/bitcoin/issues/32548#issuecomment-2889145174>
>
> From your debug.log, it looks like it was opened successfully on
> 2025-05-18T09:23:00Z, but failed to open at the next run at
> 2025-05-18T09:23:59Z. Did you do anything to the wallet between these 2
> runs of Bitcoin Core? There's less than a minute b
...
(https://github.com/bitcoin/bitcoin/issues/32548#issuecomment-2889167371)
How can I execute the pywallet Option?
On Sun, May 18, 2025 at 12:36 PM Ava Chow ***@***.***> wrote:
> *achow101* left a comment (bitcoin/bitcoin#32548)
> <https://github.com/bitcoin/bitcoin/issues/32548#issuecomment-2889145174>
>
> From your debug.log, it looks like it was opened successfully on
> 2025-05-18T09:23:00Z, but failed to open at the next run at
> 2025-05-18T09:23:59Z. Did you do anything to the wallet between these 2
> runs of Bitcoin Core? There's less than a minute b
...
💬 l3x3l commented on issue "Unusual "Wallet requires newer version" Error with wallet.dat on macOS, Even with Older Client":
(https://github.com/bitcoin/bitcoin/issues/32548#issuecomment-2889175014)
I would like to download Bitcoin Core Version 30.0 this month.
(https://github.com/bitcoin/bitcoin/issues/32548#issuecomment-2889175014)
I would like to download Bitcoin Core Version 30.0 this month.
💬 pinheadmz commented on issue "Unusual "Wallet requires newer version" Error with wallet.dat on macOS, Even with Older Client":
(https://github.com/bitcoin/bitcoin/issues/32548#issuecomment-2889183588)
@l3x3l we release new major versions twice a year and 29 just came out. You opened your issue, please be patient now and work with the contributors until we have an answer.
(https://github.com/bitcoin/bitcoin/issues/32548#issuecomment-2889183588)
@l3x3l we release new major versions twice a year and 29 just came out. You opened your issue, please be patient now and work with the contributors until we have an answer.
💬 l3x3l commented on issue "Unusual "Wallet requires newer version" Error with wallet.dat on macOS, Even with Older Client":
(https://github.com/bitcoin/bitcoin/issues/32548#issuecomment-2889184446)
Ok, thank you.
How do I use pywallet to recover my wallet?
On Sun, May 18, 2025 at 2:04 PM Matthew Zipkin ***@***.***>
wrote:
> *pinheadmz* left a comment (bitcoin/bitcoin#32548)
> <https://github.com/bitcoin/bitcoin/issues/32548#issuecomment-2889183588>
>
> @l3x3l <https://github.com/l3x3l> we release new major versions twice a
> year and 29 just came out. You opened your issue, please be patient now and
> work with the contributors until we have an answer.
>
> —
> Reply to
...
(https://github.com/bitcoin/bitcoin/issues/32548#issuecomment-2889184446)
Ok, thank you.
How do I use pywallet to recover my wallet?
On Sun, May 18, 2025 at 2:04 PM Matthew Zipkin ***@***.***>
wrote:
> *pinheadmz* left a comment (bitcoin/bitcoin#32548)
> <https://github.com/bitcoin/bitcoin/issues/32548#issuecomment-2889183588>
>
> @l3x3l <https://github.com/l3x3l> we release new major versions twice a
> year and 29 just came out. You opened your issue, please be patient now and
> work with the contributors until we have an answer.
>
> —
> Reply to
...