🤔 i-am-yuvi reviewed a pull request: "test: Move `script_assets_tests` into its own suite"
(https://github.com/bitcoin/bitcoin/pull/31576#pullrequestreview-2848380496)
tACK 0859fc22f0baf00259cf964f9d39d36fba6cd291
- making skipped tests explicitly appear as 'Skipped' rather than silently omitting
```
Start 89: script_tests
Start 85: script_p2sh_tests
Start 87: script_segwit_tests
Start 88: script_standard_tests
Start 86: script_parse_tests
Start 84: script_assets_tests
1/6 Test #86: script_parse_tests ............... Passed 0.16 sec
2/6 Test #84: script_assets_tests ..............***Skipped 0.16 sec
3/6 Test #88: s
...
(https://github.com/bitcoin/bitcoin/pull/31576#pullrequestreview-2848380496)
tACK 0859fc22f0baf00259cf964f9d39d36fba6cd291
- making skipped tests explicitly appear as 'Skipped' rather than silently omitting
```
Start 89: script_tests
Start 85: script_p2sh_tests
Start 87: script_segwit_tests
Start 88: script_standard_tests
Start 86: script_parse_tests
Start 84: script_assets_tests
1/6 Test #86: script_parse_tests ............... Passed 0.16 sec
2/6 Test #84: script_assets_tests ..............***Skipped 0.16 sec
3/6 Test #88: s
...
💬 hebasto commented on pull request "build: Use clang-cl to build on Windows natively":
(https://github.com/bitcoin/bitcoin/pull/31507#discussion_r2094220240)
> > Also, any reason to not fix the issues in leveldb, rather than adding more suppressions?
>
> I'll consider this option.
Please see https://github.com/bitcoin-core/leveldb-subtree/pull/53.
(https://github.com/bitcoin/bitcoin/pull/31507#discussion_r2094220240)
> > Also, any reason to not fix the issues in leveldb, rather than adding more suppressions?
>
> I'll consider this option.
Please see https://github.com/bitcoin-core/leveldb-subtree/pull/53.
💬 hebasto commented on issue "Option to use dark theme for Windows":
(https://github.com/bitcoin-core/gui/issues/378#issuecomment-2888612967)
> There is too low contrast on the buttons in that pic
Feel free to open a fresh issue about that.
(https://github.com/bitcoin-core/gui/issues/378#issuecomment-2888612967)
> There is too low contrast on the buttons in that pic
Feel free to open a fresh issue about that.
💬 Efikcoin commented on issue "SignatureCreator should supply auxiliary data argument for additional bip340 signature security":
(https://github.com/bitcoin/bitcoin/issues/31883#issuecomment-2888616578)
Efikcoin-mining pool stake
Reward💰
(https://github.com/bitcoin/bitcoin/issues/31883#issuecomment-2888616578)
Efikcoin-mining pool stake
Reward💰
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#issuecomment-2888622694)
Thank you @l0rinc @Sjors @laanwj @LarryRuane @1440000bytes @Kixunil @maflcko @yancyribbens for your reviews and suggestions!
The latest version changes the following:
- data is XOR'd 16 bytes at a time using the doubled key as a `u128`. This is done using pointer casting and unsafe dereferencing, so we don't have to copy the data back and forth when converting `[u8; 16]` to `u128`.
- A custom datadir option is now passed as `-datadir=`, similar to `bitcoind`.
- Files are read 16 bytes at
...
(https://github.com/bitcoin/bitcoin/pull/32451#issuecomment-2888622694)
Thank you @l0rinc @Sjors @laanwj @LarryRuane @1440000bytes @Kixunil @maflcko @yancyribbens for your reviews and suggestions!
The latest version changes the following:
- data is XOR'd 16 bytes at a time using the doubled key as a `u128`. This is done using pointer casting and unsafe dereferencing, so we don't have to copy the data back and forth when converting `[u8; 16]` to `u128`.
- A custom datadir option is now passed as `-datadir=`, similar to `bitcoind`.
- Files are read 16 bytes at
...
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094230217)
Done.
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094230217)
Done.
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094230354)
Replaced all logs of xor with obfuscation.
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094230354)
Replaced all logs of xor with obfuscation.
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094231982)
Done.
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094231982)
Done.
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094232317)
I use `BufWriter` now and call `flush`. That should call `sync_data` under the hood I presume?
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094232317)
I use `BufWriter` now and call `flush`. That should call `sync_data` under the hood I presume?
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094232454)
Done. I use `BufReader` and read 16 bytes at a time. Memory usage is much lower. Speed doesn't seem to be impacted.
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094232454)
Done. I use `BufReader` and read 16 bytes at a time. Memory usage is much lower. Speed doesn't seem to be impacted.
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094232466)
Done.
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094232466)
Done.
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094232479)
Done.
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094232479)
Done.
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094232512)
Fixed, we don't overwrite the key now if we didn't create a new one. We also call `sync_data` after writing the new random one.
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094232512)
Fixed, we don't overwrite the key now if we didn't create a new one. We also call `sync_data` after writing the new random one.
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094232615)
Done. We just use `read` now.
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094232615)
Done. We just use `read` now.
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094232624)
Done.
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094232624)
Done.
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094235373)
I have unfortunately not tested on Windows. If anyone could test I would be grateful. If this is the wrong home dir though then a user can just specify it manually using the `-datadir=` option.
It seems this function will be undeprecated in a future release https://github.com/rust-lang/rust/issues/132650.
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094235373)
I have unfortunately not tested on Windows. If anyone could test I would be grateful. If this is the wrong home dir though then a user can just specify it manually using the `-datadir=` option.
It seems this function will be undeprecated in a future release https://github.com/rust-lang/rust/issues/132650.
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094235788)
I added checking for `-datadir=` and `--datadir=`, but not `datadir=` or `---datadir=`. Just like `bitcoind` :).
> I'd like to see here is having proper usage page if no arguments are provided
If no args are provided, it just picks up the default datadir. IMO that's the best behavior. If you give more than 1 arg it prints out a usage instruction as an error.
Is that what you had in mind?
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094235788)
I added checking for `-datadir=` and `--datadir=`, but not `datadir=` or `---datadir=`. Just like `bitcoind` :).
> I'd like to see here is having proper usage page if no arguments are provided
If no args are provided, it just picks up the default datadir. IMO that's the best behavior. If you give more than 1 arg it prints out a usage instruction as an error.
Is that what you had in mind?
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094235834)
Done. I went one further and use Rust's `u128`, so we double the key and xor 16 bytes at a time.
(https://github.com/bitcoin/bitcoin/pull/32451#discussion_r2094235834)
Done. I went one further and use Rust's `u128`, so we double the key and xor 16 bytes at a time.
💬 andrewtoth commented on pull request "contrib: add xor-blocks tool to obfuscate blocks directory":
(https://github.com/bitcoin/bitcoin/pull/32451#issuecomment-2888632586)
> Consider obtaining the .lock file in the data directory in the same way bitcoind does. This will prevent bitcoind from starting if this tool is running, and vice versa.
@LarryRuane great suggestion. Unfortunately file locking is still experimental in Rust (?), so users would have to run nightly to be able to run the program. I think we should wait until it's stabilized instead of pulling in third party deps to do the locking.
> It seems better if we track the height at which xor starts
...
(https://github.com/bitcoin/bitcoin/pull/32451#issuecomment-2888632586)
> Consider obtaining the .lock file in the data directory in the same way bitcoind does. This will prevent bitcoind from starting if this tool is running, and vice versa.
@LarryRuane great suggestion. Unfortunately file locking is still experimental in Rust (?), so users would have to run nightly to be able to run the program. I think we should wait until it's stabilized instead of pulling in third party deps to do the locking.
> It seems better if we track the height at which xor starts
...
📝 sipa opened a pull request: "Replace cluster linearization algorithm with SFL"
(https://github.com/bitcoin/bitcoin/pull/32545)
This replaces the cluster linearization algorithm introduced in #30286 (a combination of LIMO with candidate-set search), with a completely different algorithm: ([spanning-forest linearization](https://delvingbitcoin.org/t/spanning-forest-cluster-linearization/1419/1)), which appears to have much better performance for hard clusters. See [this post](https://delvingbitcoin.org/t/how-to-linearize-your-cluster/303/68) for a comparison between various linearization algorithms, and [this post](https:
...
(https://github.com/bitcoin/bitcoin/pull/32545)
This replaces the cluster linearization algorithm introduced in #30286 (a combination of LIMO with candidate-set search), with a completely different algorithm: ([spanning-forest linearization](https://delvingbitcoin.org/t/spanning-forest-cluster-linearization/1419/1)), which appears to have much better performance for hard clusters. See [this post](https://delvingbitcoin.org/t/how-to-linearize-your-cluster/303/68) for a comparison between various linearization algorithms, and [this post](https:
...