Bitcoin Core Github
44 subscribers
120K links
Download Telegram
📝 fanquake locked a pull request: "Convert Bitcoin source code to C#"
(https://github.com/bitcoin/bitcoin/pull/31143)


---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/bitcoin/bitcoin?shareId=ace74a54-f532-4441-bbd2-52fd31ad6e4a).
💬 laanwj commented on pull request "rpc, cli: return "verificationprogress" of 1 when up to date":
(https://github.com/bitcoin/bitcoin/pull/31135#discussion_r1814289134)
it should probably only do the "round last bit" thing when it's actually within some small delta of 1, not like from 0.5 to 1
📝 l0rinc opened a pull request: "optimization: pack util::Xor into 64 bit chunks instead of doing it byte-by-byte"
(https://github.com/bitcoin/bitcoin/pull/31144)
The recently merged [XOR obfuscation](https://github.com/bitcoin/bitcoin/pull/28207) is a non-trivial part of serialization, encountered during IBD and `reindex`:
<img width="500" alt="image" src="https://github.com/user-attachments/assets/6dc99dee-bda8-40d0-bdb0-2030982e0645">

----

In this PR, I've added a new test (comparing randomized inputs against a trivial implementation), updated the benchmark to validate a [more realistic scenario](https://github.com/bitcoin/bitcoin/blob/master/sr
...
⚠️ laanwj opened an issue: "Cmake build system breaks with symbolic links"
(https://github.com/bitcoin/bitcoin/issues/31145)
If the `build` directory is a symbolic link, or when the entire source directory is symlinked (and we build from there), the current cmake build runs into trouble finding its own generated files.

To reproduce:
```
git clone --depth=1 https://github.com/bitcoin/bitcoin.git
mkdir build
cd bitcoin/
ln -s ../build .
cmake -Bbuild -DBUILD_GUI=ON
cd build
make
```

```
[ 37%] Building CXX object src/CMakeFiles/bitcoin_node.dir/validation.cpp.o
In file included from /data/src/tmp/bitcoi
...
💬 laanwj commented on issue "Remove BIP94 from regtest":
(https://github.com/bitcoin/bitcoin/issues/31137#issuecomment-2434584188)
Concept ACK. i think it's a good point that regtest, at least by default, should be as closest as possible to mainnet, not testnet.
🚀 fanquake merged a pull request: "doc: Make list of targets in depends README consistent"
(https://github.com/bitcoin/bitcoin/pull/31141)
💬 fanquake commented on pull request "depends: bump miniupnpc to 2.2.8":
(https://github.com/bitcoin/bitcoin/pull/30301#issuecomment-2434608834)
> Or probably https://github.com/bitcoin/bitcoin/pull/31130?

If #31130 is merged, then yes, this is no-longer relevant. Drafted for now, given this also needs rebase.
📝 fanquake converted_to_draft a pull request: "depends: bump miniupnpc to 2.2.8"
(https://github.com/bitcoin/bitcoin/pull/30301)
Drops two of our patches that have been merged upstream and adjusts the other to deal with recent changes.

Follow-up from #30283. I can't vouch for the upstream changes here.
💬 brunoerg commented on pull request "test: added test to assert TX decode rpc error on submitpackage rpc":
(https://github.com/bitcoin/bitcoin/pull/31139#discussion_r1814519229)
I don't think just passing two empty strings is the right way of testing it because:
- it only plays with non-hex values and do not exercise the hex parsing.
- if the first tx is invalid, the second one has no effect.
💬 maflcko commented on pull request "optimization: pack util::Xor into 64 bit chunks instead of doing it byte-by-byte":
(https://github.com/bitcoin/bitcoin/pull/31144#discussion_r1814518633)
I fail to see how this is not UB. This is identical to https://github.com/bitcoin/bitcoin/pull/30349#discussion_r1804480124
💬 maflcko commented on pull request "optimization: pack util::Xor into 64 bit chunks instead of doing it byte-by-byte":
(https://github.com/bitcoin/bitcoin/pull/31144#discussion_r1814518826)
same
💬 maflcko commented on pull request "optimization: pack util::Xor into 64 bit chunks instead of doing it byte-by-byte":
(https://github.com/bitcoin/bitcoin/pull/31144#issuecomment-2434625837)
I think your example may be a bit skewed? It shows how much time is spent when deserializing a `CScript` from a block file. However, block files contain full blocks, where many (most?) of the writes are single bytes (or 4 bytes), see https://github.com/bitcoin/bitcoin/issues/30833#issuecomment-2338250464. Thus, it would be useful to know what the overall end-to-end performance difference is. Also taking into account the utxo db.

If you want the micro-benchmark to be representative, I'd presum
...
💬 fanquake commented on pull request "doc: replace `-?` with `-h` and `-help`":
(https://github.com/bitcoin/bitcoin/pull/31118#discussion_r1814528609)
Maybe this will be the last time we rewrite this.
Introduced as `-?`: b21244e0be5727f8c4e8c5de0a9aa2c597ae8ed2
Changed to `--help`: 05fdb97df46d0a0675b93e9791bd5d498e5e5117
Changed back to `-?`: d8513fe41102dcbfc05235f3b95e33eb1878f880
Now we are going back to `-h`: f0130ab1a1e65583637b6a362b879ea3253e7bb7.
💬 maflcko commented on pull request "optimization: pack util::Xor into 64 bit chunks instead of doing it byte-by-byte":
(https://github.com/bitcoin/bitcoin/pull/31144#discussion_r1814534953)
CI seems to agree:

```
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_iterator.h:1100:16: runtime error: reference binding to misaligned address 0x7f10961d9084 for type 'unsigned long', which requires 8 byte alignment
0x7f10961d9084: note: pointer points here
94 8e 20 eb 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
#0 0x55780d85ab85 in __gnu_cxx::__normal_iterator<unsigned long*, std::span<unsig
...
💬 maflcko commented on pull request "RPC: Return `permitbaremultisig` and `maxdatacarriersize` in `getmempoolinfo`":
(https://github.com/bitcoin/bitcoin/pull/29954#issuecomment-2434648576)
Please squash your commits according to https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md#squashing-commits
💬 l0rinc commented on pull request "optimization: pack util::Xor into 64 bit chunks instead of doing it byte-by-byte":
(https://github.com/bitcoin/bitcoin/pull/31144#discussion_r1814537555)
Isn't this what we're doing in `CScript` as well https://github.com/bitcoin/bitcoin/blob/master/src/script/script.h#L496 ?
💬 fanquake commented on issue "How to compile the GUI on opensuse tumbleweed with cmake?":
(https://github.com/bitcoin-core/gui/issues/842#issuecomment-2434651202)
Added to 29.0 milestone as this will either need to be fixed, or documented as no-longer-supported.
💬 l0rinc commented on pull request "doc: replace `-?` with `-h` and `-help`":
(https://github.com/bitcoin/bitcoin/pull/31118#discussion_r1814543917)
I'm fine with `--help` as well, but `-?` just isn't working on a mac
💬 l0rinc commented on pull request "optimization: pack util::Xor into 64 bit chunks instead of doing it byte-by-byte":
(https://github.com/bitcoin/bitcoin/pull/31144#discussion_r1814546031)
Thanks, I'll investigate.
I assumed there will be more to check, that's why it's still a draft.
💬 fanquake commented on pull request "Remove mempoolfullrbf":
(https://github.com/bitcoin/bitcoin/pull/30592#issuecomment-2434663476)
Also needs a release note.