So after all this noise, I thought maybe worth to check if there are any other implementations around to better evaluate the way forward. Considering my lack of knowledge in back-end and software engineering, this analysis, although generic, simply helps me get a better picture and translate it in a more readable format.
I always learn and verified that it is better to have options in life, two are not enough. Questions triggering this little research:
if
any, what are the other alternatives out there?- what are the pros and cons of each?
core
and knots
can play their game, libbitcoin
is also there, as always has been since the beginning, silently founded with good values and principles.Other implementations are unmaintained, and not sure I should have included
btcd
and bcoin
as are built respectively in Go and Javascript, still, they found application and adoption...Data maybe not accurate, if you find some misleading information do comment it below.
bcoin | btcd | core | knots | libbitcoin | |
---|---|---|---|---|---|
Logo | |||||
Website | bcoin.io | btcsuite.github.io | bitcoin.org | bitcoinknots.org | libbitcoininstitute.org |
Repository | /bcoin-org/bcoin | /btcsuite/btcd | /bitcoin/bitcoin | /bitcoinknots/bitcoin | /libbitcoin/libbitcoin-node |
Licence | BSD 2 | BSD 3 | MIT | MIT | MIT |
Total Downloads | N/A | 16,223 | N/A | 1,886 | 311 |
People | 6 | 7 | 25 | 1 | 10 |
Contributors | 51 | 229 | 993 | 1 | 10 |
Community | Small | Small | Large | Moderate 521 | Small |
Language | JavaScript | Go | C++ | C++ | C++ |
Developer | Bcoin | Btcsuite | Selected Team | Luke Dashjr | Community |
Wallet Functionality | Yes | No | Yes | Yes | No |
Peers Connections | 8 | 8 | 8 | 24 | 8 |
Pruning | Yes | Yes | Yes | Yes | No |
Mempool Policies | Default | Default | Default | Stricter | Default |
Cross-Platform | Yes | Yes | Limited | Limited | Yes |
Modular Design | Yes | No | No | No | Yes |
Ease of Auditing | Moderate | High | Moderate | Moderate | Moderate |
Unique Features | Modular Architecture, High Performance | Simplicity, Efficiency | Reference Implementation | Increased Connections, Stricter Mempool Policies | Comprehensive Library, Cross-Platform |
Governance | Decentralized | Centralized | Decentralized | Decentralized | Decentralized |
Mempool Configuration | Basic | Basic | Basic | Advanced | Basic |
Spam Filtering | Limited | Limited | Limited | Enabled | Limited |
Custom Mempool Settings | Limited | Limited | Limited | Extensive | Limited |
Mempool Rejection Settings | Basic | Basic | Basic | Advanced (rejectparasites , datacarrier , permitbaremultisig ) | Basic |
Transaction Prioritization | Standard | Standard | Standard | Customizable | Standard |
Now it's on you, to make up your mind and decide wich implementation you want run for your node.Tues is that few f them make it easier to run a node, are available in any way you can imagine, others
Learn more and join the conversation, each of the following articles and news has been listed because it contains kinda unopinionated perspective, at least try to.
- #991213 My Journey with Libbitcoin in Summer of Bitcoin Program 2024
- #991200 Discord Within The Bitcoin Community
- #991194 Bitcoin Node Operators Are Migrating from Core to Knots
- #991186 Bitcoin Core: What Is It And How Does It Work?
- #991177 Why Bitcoin Knots instead of . . . Bitcoin Core ?
- #743841 Libbitcoin for Core people
- #539328 Bitcoin Knots: A Better Bitcoin Client (?)