Im new to Bitcoin development. Decided to work with Python as seems to have the largest ecosystem when it comes to Bitcoin. I am a bit confused about the various different Python Bitcoin libraries though. From my research, here are the main 4:
https://github.com/petertodd/python-bitcoinlib
https://github.com/jgarzik/python-bitcoinrpc
https://github.com/1200wd/bitcoinlib
https://github.com/ofek/bit
Do all of these do roughly the same thing? In general I would like a high level library, to do basic things like send transactions (as a way to learn Bitcoin development, I want to build a demo exchange). The `bit` library seems to be the most high level. What would people recommend?
Thanks
All of these libraries are Python libraries for working with Bitcoin, but they have different capabilities and focus on different aspects of Bitcoin development.
python-bitcoinlib is a comprehensive library for working with Bitcoin, providing support for parsing and serializing transactions and blocks, creating and signing transactions, and more. It also provides support for working with various network protocols, such as the Bitcoin P2P network and the Bitcoin JSON-RPC API.
python-bitcoinrpc is a library for accessing the Bitcoin JSON-RPC API, which allows you to interact with a Bitcoin daemon running on a local or remote host. It provides a high-level interface for querying and modifying the Bitcoin blockchain, as well as for managing the wallet.
bitcoinlib is another comprehensive Bitcoin library that provides support for parsing and serializing transactions and blocks, creating and signing transactions, and interacting with the Bitcoin P2P network and JSON-RPC API. It also includes support for working with testnets and regtest environments.
bit is a high-level Python library for working with Bitcoin. It provides a simple interface for creating, signing, and broadcasting transactions, as well as for querying the blockchain and managing addresses and wallets.
In general, if you're just starting out with Bitcoin development and want a high-level library for sending transactions and interacting with the blockchain, you might want to consider using bit. It provides a simple interface that is easy to use, and it should be sufficient for many basic Bitcoin development tasks. However, if you need more advanced functionality or want to work with lower-level details of the Bitcoin protocol, you might want to consider using one of the other libraries instead.