Archive of the libbitcoin Slack #general channel.
selector.exe) builds as the system console app. It is trivial, just tries all of the hardware options (except cuda, which always compiles in). It will just spit out whatever ones satisfy our criteria. This will be used in packaging to identify the right binary, and can be used to manually pick one for download.-n, --newstore command line option has been renamed to -m, --make and has no parameters. There is a new -n, --net option that requires a network token (mainnet, testnet3, testnet4, regtest, signet). The store directory default name is changed from bitcoin to the token, mainnet by default, and all relevant config settings are also adjusted to correspond to the selected network. A configured bitcoin.network=<token> is overridden by the --net=<token> value, but otherwise controls the network defaults. Overrides are logged, as they are with any restart where stored settings don't match configured settings.no-boost implementation landed it's first validation at a record Shelly time of 61 mins (previous was 65 mins) and a typical pruned milestone pass of 25 mins.53 mins) before no-boost when I was working on the store compression, but it didn't hold up on the low end machines, so that's no longer in the code or in the record books.Big Endian (s390x), Windows DLL builds, CMake for Windows (with presets), clang-cl (native VS/Windows open source compiler), MinGW-w64 GCC, MinGW-w64 Clang, arm32, clang-cl arm64... literally every combination of mac/win/linux on any hardware, any major compiler or build system, with nearly every hardware optimization, all verified in CI - using cross-compile and in a few cases emulators for test execution.
AND
deterministic builds, tested in pairs, executed in Guix (verifiable build chain) using all of the libbitcoin-build code generation machinery, running in GH actions in Phillip's new release flow.
AND
packaging for apt (deb) (Linux), Homebrew (macOS), winget (windows), Docker (github), Umbrel and StartOS (bitcoin), also running in GH actions, pulling signed binaries from the release outputs - and soon automated submission.
AND
bx not far behind for the full monte.
libbitcoin.info/building/platforms.html?skin=moon/usr/include/c++/16/bits/stl_deque.h:1642: void std::deque<_Tp, _Alloc>::pop_front() [with _Tp = std::shared_ptr<libbitcoin::network::socket::ws_frame>; _Alloc = std::allocator<std::shared_ptr<libbitcoin::network::socket::ws_frame> >]: Assertion '!this->empty()' failed. Aborted master/install/bin/bs -c bs.cfg.v4
bip90 to off by default. It's the only hard fork we've been carrying, and there's no reason for it. It costs 10-15 seconds on the header sync to disable it. It's a hard fork material query optimization for Core, but we don't need it.
I pointed out that it was a hard fork when they documented it, and they argued about it, called it a hard fork, and then reverted that status to unspecified. And after that they never documented another, but there have been seven others by my count (4 hard forks, 3 soft forks). The only difference with bip90 is that they posted it to a website after the fact.
That's not counting the LevelDB bug, stopgap, and removal, or the inflation bug and removal. That's 5 more forks (3 hard, 2 soft), but since those weren't intentional, I'm discounting them above.bip9 (and the speedy trial variant), which is what gets us off of bip9, but also prepared for future activations, including bip54. All three are now implemented (bip54 is 5 simple forks, with independent ST activation). That's disabled by default presently, and has no activation parameters because they haven't been determined yet. So this also gives us some time with the bip9/ST code activating bip68/112/113/141/143/147/341/342 - so if there's an issue we'll find out sooner than later. But I've verified that all forks are transitioning on the same blocks as when checkpointed.
92-99% code coverage, including bx.
Release build made it all the way thought the double guix builds, and failed on build comparison of Windows and macOS debug symbols. The only ones that differed were built across runner architectures (Arm vs. Intel), but only for macOS and Windows. So gonna retry just three runs, with only x64 runners, to verify. We could also drop the debug symbols, but better to keep them if it's this easy.
Packaging is an additional workflow after release build signing, and it's got no status yet because we haven't completed the workflow on master. I'm running a test workflow in my repo now against last night's unsigned builds.

Double Build packaging run (the new part of Package Release) succeeded on all three platforms, after switching both win/mac runners to x64, so deterministic builds should be done.Packaging Release workflow completed successfully, with packages verified locally.Distribute Release workflow completed and added packages to our new apt and homebrew-tap repositories, with apt/brew integration verified locally.Packaging Release.docker pull ghcr.io/libbitcoin/libbitcoin-server:<version>
:latest once Distribute has run.
The others...
microsoft/winget-pkgs by PR; the manifests point at the installers on the releasegetumbrel/umbrel-apps.s9pksubmitted by hand to Start9packages-sha256.txt (stays with the release)docker stop sends SIGTERM, which closes the store.SIGTERM does start the close, but a syncing node needs longer than 10 seconds, so Docker kills it first. In my tests a clean close took 33 to 41 seconds.