Skip to content

Blog: minimizing dependencies#158

Merged
bitschmidty merged 1 commit into
masterfrom
2025-09-blog-dependencies
Sep 19, 2025
Merged

Blog: minimizing dependencies#158
bitschmidty merged 1 commit into
masterfrom
2025-09-blog-dependencies

Conversation

@bitschmidty

Copy link
Copy Markdown
Contributor

No description provided.

@bitschmidty bitschmidty self-assigned this Sep 18, 2025
Comment thread _posts/2025-09-19-minimizing-dependencies.md Outdated
of the Bitcoin network's resiliency. But Bitcoin Core's code is not the only
code executed when running Bitcoin Core. Over the years, Bitcoin Core has also
relied on external, third-party code and libraries. Some of these dependencies
have been the source of historical vulnerabilities, and all of them carry

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bitschmidty bitschmidty Sep 19, 2025

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added both

- Early versions of Core depended on large portions of Boost (filesystem,
signals, threads).
- Over the years, these were replaced with C++ standard library equivalents.
- Today, Boost is header-only and minimal, with plans to remove it entirely.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is header-only

Could link to bitcoin/bitcoin#24301.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added

Comment thread _posts/2025-09-19-minimizing-dependencies.md
vulnerabilities (e.g. Heartbleed) were dangerous.
- Replaced by [libsecp256k1][], a purpose-built library, developed by Bitcoin
Core contributors.
- [Bitcoin Core #6954][bc 6954] (2016).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

v0.12.0.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changed 2016 to v0.12.0

a minimal in-tree NAT implementation.

- **Boost**
- Early versions of Core depended on large portions of Boost (filesystem,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

filesystem

bitcoin/bitcoin#20744.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added

cross-platform builds with pinned toolchains.
- [Bitcoin Core #21145][bc 21145].

- **macOS Packaging Dependencies**

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we could split this in two:

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Took a crack are reworking this section


- **macOS Packaging Dependencies**
- Legacy tools like cctools, libdmg-hfsplus, mac_alias, and .DS_Store
metadata hacks were removed during the transition to Guix.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that none of these changes were really related to Guix.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed that part

@bitschmidty bitschmidty force-pushed the 2025-09-blog-dependencies branch from 80d8a5f to f47ebe1 Compare September 19, 2025 13:33
@bitschmidty

Copy link
Copy Markdown
Contributor Author

Took suggestions from @hebasto and @fanquake, thanks for the reviews

@bitschmidty bitschmidty force-pushed the 2025-09-blog-dependencies branch from f47ebe1 to 3515dea Compare September 19, 2025 13:43
@bitschmidty bitschmidty merged commit 2fd6df6 into master Sep 19, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants