Bitcoin Core Github
44 subscribers
121K links
Download Telegram
💬 Sjors commented on pull request "multiprocess: Add bitcoin wrapper executable":
(https://github.com/bitcoin/bitcoin/pull/31375#discussion_r1894539548)
We can change that later, but currently the (guix built) release binaries are shipped with `test_bitcoin` - for whatever reason.
💬 Sjors commented on pull request "multiprocess: Add bitcoin wrapper executable":
(https://github.com/bitcoin/bitcoin/pull/31375#discussion_r1894540173)
The goal of #31098 is to have `bitcoin-node` included in the release. For the time being only stratum v2 (or other IPC mining interface consumers) should use that binary. And they will get instructions for that. By default folks should run `bitcoind`.

Once the multiprocess bundled binaries are mature enough and there's a broader benefit to using them (e.g. the GUI can connect to the node), we could change the default.
💬 Sjors commented on pull request "multiprocess: Add bitcoin wrapper executable":
(https://github.com/bitcoin/bitcoin/pull/31375#discussion_r1894541328)
```
% dtrace -n 'proc:::exec-success { trace(curpsinfo->pr_psargs); }' -c 'build/src/bitcoin daemon'
dtrace: system integrity protection is on, some features will not be available
dtrace: failed to initialize dtrace: DTrace requires additional privileges
```

With sudo:

```
dtrace: system integrity protection is on, some features will not be available

dtrace: invalid probe specifier proc:::exec-success { trace(curpsinfo->pr_psargs); }: probe description proc:::exec-success does not
...
🤔 BrandonOdiwuor reviewed a pull request: "rpc: Add signet_challenge field to getblockchaininfo and getmininginfo"
(https://github.com/bitcoin/bitcoin/pull/31531#pullrequestreview-2518635550)
Concept ACK
💬 0xB10C commented on pull request "ci: detect outbound internet traffic generated while running tests":
(https://github.com/bitcoin/bitcoin/pull/31349#discussion_r1894615448)
nit: someone renaming this file down the line might not be aware of a dependency on this exact file name
👍 0xB10C approved a pull request: "ci: detect outbound internet traffic generated while running tests"
(https://github.com/bitcoin/bitcoin/pull/31349#pullrequestreview-2518644005)
ACK 95fc90610a1162fc06e61b607488d05229c9909f

Nice solution to use `127.0.0.1:1` as unreachable proxy for DNS requests too. I [ran](https://cirrus-ci.com/build/4807331864641536) this on my CI runners with a `8.8.8.8` and `1.1.1.1` as DNS servers as [before](https://github.com/bitcoin/bitcoin/pull/31349#issuecomment-2499335672) and the tests don't connect out now. I [ran](https://cirrus-ci.com/build/6328887816224768) with `test: avoid generating non-loopback traffic from feature_config_args.py`
...
💬 0xB10C commented on pull request "ci: optionally use local docker build cache":
(https://github.com/bitcoin/bitcoin/pull/31545#discussion_r1894624265)
Right, on an ephemeral runner, this won't persist across runs - it's gone when the host shuts down. I'll remove it and clarify in the docs that `DOCKER_BUILD_CACHE_HOST_DIR` is for ephemeral runners.
💬 0xB10C commented on pull request "ci: optionally use local docker build cache":
(https://github.com/bitcoin/bitcoin/pull/31545#discussion_r1894627545)
Using `mktemp --directory ci-docker-build-cache-XXXXXXXXXX` to allow a non-ephemeral host have a chance to identify them based on the prefix and clean them up.
💬 pythcoiner commented on issue "RFC: support for writing UTXO set dump (`dumptxoutset` RPC) to a named pipe":
(https://github.com/bitcoin/bitcoin/issues/31373#issuecomment-2558129433)
i'll review/test your PR when ready.

i think 1 ,3 and 4 could/should be optional as it also can be handled by the process reading the pipe
💬 kallewoof commented on pull request "rpc: Add signet_challenge field to getblockchaininfo and getmininginfo":
(https://github.com/bitcoin/bitcoin/pull/31531#discussion_r1894636318)
See above note about `-signetchallenge`.
💬 kallewoof commented on pull request "rpc: Add signet_challenge field to getblockchaininfo and getmininginfo":
(https://github.com/bitcoin/bitcoin/pull/31531#discussion_r1894636268)
When used as an argument it is `-signetchallenge`, perhaps use that here as well.
💬 romanz commented on issue "Faster way to get block with prevouts in JSON-RPC":
(https://github.com/bitcoin/bitcoin/issues/30495#issuecomment-2558136766)
> * Creating a new RPC call for undo data, say `getblockundo`. This would be perfect for my needs, but it would require making the undo data serialization format non-internal (not sure if this would be a problem, as IIRC it hasn't changed in many years).

By [adding a new REST endpoint for fetching block prevouts]((https://github.com/bitcoin/bitcoin/commit/dd76731db48ce85073d987f804936c0bab6a07a2)), it seems that we can get quite a good throughput rate when reading the data concurrently (teste
...
📝 l0rinc opened a pull request: "optimization: bulk reads(27%)/writes(290%) in [undo]block [de]serialization"
(https://github.com/bitcoin/bitcoin/pull/31551)
An alternative implementation of https://github.com/bitcoin/bitcoin/pull/31539, where the whole block is read into memory instead of doing it in chunks, as suggested by @theuni.

------

This is a follow-up to https://github.com/bitcoin/bitcoin/pull/31490 (first few commits duplicated here, hence a draft) and a precursor to https://github.com/bitcoin/bitcoin/pull/31144.

Currently, obfuscation operations are performed byte-by-byte during serialization. Buffering the reads allows batching t
...
💬 0xB10C commented on pull request "ci: optionally use local docker build cache":
(https://github.com/bitcoin/bitcoin/pull/31545#issuecomment-2558150121)
Renamed to `DANGER_DOCKER_BUILD_CACHE_HOST_DIR`, moved the docs to `ci/test/02_run_container.sh` and not touching `ci/test/00_setup_env.sh` anymore, dropped `rm -rf "${DOCKER_BUILD_CACHE_TEMPDIR}"` but documented that non-ephemeral hosts would need to take care of cleaning up the temp dirs, and gave the temp dirs a `ci-docker-build-cache-` prefix. Thanks @maflcko.
💬 i-am-yuvi commented on pull request "Extend signetchallenge to set target block spacing":
(https://github.com/bitcoin/bitcoin/pull/29365#issuecomment-2558157986)
> > This would be a great help for Warnet Game since now you can easily configure the block creation time. Will review the code very soon!!
>
> Indeed, this is how we do it now: https://github.com/bitcoin-dev-project/battle-of-galen-erso/blob/15ac31e0ec78dae716afc150f62e5cbc0fb7bd2e/scenarios/stub_orphan.py#L25-L31

Interesting!! Thanks for sharing 🔥
👍 tdb3 approved a pull request: "coins: warn on shutdown for big UTXO set flushes"
(https://github.com/bitcoin/bitcoin/pull/31534#pullrequestreview-2518687009)
Tested ACK ec8fa17872c8cb7f214a451aaa23701ced8bd5fb

Great addition! This will prevent many users from believing bitcoind is "stuck/frozen".

Performed IBD to block ~100k (dbcache=6000, cache used < 1000MiB). Stopped bitcoind and (as expected) did not see the warning.

Restarted IBD and stopped at block ~300k (cache used > 1000MiB). Warning displayed as expected.

```
^C
2024-12-21T16:28:00Z Shutdown: In progress...
2024-12-21T16:28:00Z opencon thread exit
2024-12-21T16:28:00Z addcon
...
📝 hebasto opened a pull request: "depends: Update capnproto to 1.1.0"
(https://github.com/bitcoin/bitcoin/pull/31552)
This change fixes compilation on NetBSD with GCC 14:

```
$ gmake -C depends capnp MULTIPROCESS=1 CC=/usr/pkg/gcc14/bin/gcc CXX=/usr/pkg/gcc14/bin/g++
gmake: Entering directory '/home/hebasto/dev/bitcoin/depends'
<snip>
In file included from /home/hebasto/dev/bitcoin/depends/work/build/x86_64-unknown-netbsd10.0/capnp/1.0.2-ffdefffd9f5/src/kj/memory.h:24,
from /home/hebasto/dev/bitcoin/depends/work/build/x86_64-unknown-netbsd10.0/capnp/1.0.2-ffdefffd9f5/src/kj/exception.h:
...
🤔 Prabhat1308 reviewed a pull request: "qa: Limit `-maxconnections` in tests"
(https://github.com/bitcoin/bitcoin/pull/31537#pullrequestreview-2518778032)
tack [d9d5bc2](https://github.com/bitcoin/bitcoin/pull/31537/commits/d9d5bc2e7466033d989432f53a112325fa3d6d4a)
OS - MacOS Sequoia 15.1.1
💬 0xB10C commented on issue "Increasing self-hosted runner raw performance":
(https://github.com/bitcoin/bitcoin/issues/30852#issuecomment-2558198430)
Inspired by discussions with @willcl-ark at and after the last CoreDev, I started working on a [NixOS](nixos.org) based configuration for a large host with multiple Cirrus CI runners with a focus on isolation and performance.

To isolate the runners, each runner lives in an ephemeral QEMU VM[^0] that's shut down and recreated after each run. While the runners are ephemeral and the QEMU VMs have a tmpfs as rootfs, the host maintains a shared cache. Since the cache is somewhat implicit on the c
...
🤔 hodlinator reviewed a pull request: "kernel: Move kernel-related cache constants to kernel cache"
(https://github.com/bitcoin/bitcoin/pull/31483#pullrequestreview-2518616838)
Code review 7517126d9fd2c3e50dc95ce831bac6895b950e24

Some concern over implicit narrowing on 32-bit platforms (see inline comments).

*Rough* suggestions: https://github.com/TheCharlatan/bitcoin/compare/kernel_cache_sizes...hodlinator:bitcoin:pr/31483_suggestions
\+ Use of curly braces to catch narrowing.
\+ The above encourages asserts, leading to finding cases where truncation would eventually happen (increasing `DEFAULT_KERNEL_CACHE` by 10x triggers assert).
\- Not so happy about my s
...