Prolific Bitcoin developer Unwriter has released an update for Bitwork, the simple yet powerful Bitcoin data processing library. Bitwork now lets you connect to remote Bitcoin nodes as well as listen to multiple events from one Bitwork instance.
Unwriter took to Twitter to reveal the updates:
1. You can now connect to remote bitcoin nodes
2. Fixed a critical bug which returned corrupt transaction format.
3. You can now listen to "mempool" and "block" events using a single bitwork instance.
— _unwriter (@_unwriter) December 2, 2019
Connecting to remote Bitcoin nodes was theoretically possible in Bitwork’s original release. However, this version had a bug and whenever you attempted to connect to a remote node, it would return incorrect result. Unwriter has fixed this and all you have to do is specify the host attribute on Bitwork.
The update also lets you listen to multiple events from one Bitwork instance. In the original release, you had to set up multiple instances if you wanted to listen to both Mempool and block events.
Unwriter also fixed a critical bug which returned corrupt transaction format. He stated:
“Some may have been seeing “Invalid argument type: script” errors lately. I am unsure where and when this started happening, but the engine started returning corrupt txs for certain requests. It was coming from one of the dependencies. Fixed.”
Unwriter released the original version of Bitwork in early September. Bitwork makes it easier to interact with the Bitcoin blockchain, similar to making HTTP GET requests. It achieves this by abstracting the complex networking APIs into a unified, easy-to-use interface that resembles a simple HTTP request.
Bitwork eliminates the need to work with the P2P protocol directly which is tedious and limited. Ideally, a developer should be able to interact with the P2P network with just a few lines of code, just like when dealing with HTTP. However, this is rarely the case.
The JSON-RPC protocol is meant to be a better alternative to P2P, making it easier to query the blockchain. However, since it doesn’t support streaming, it often crashes the nodes as the block gets larger.
Bitwork acts as an abstraction layer, allowing developers to interact with the blockchain without having to worry about these quirks. It uses the more reliable P2P protocol directly, and whenever necessary, turns to JSON-RPC.
New to Bitcoin? Check out CoinGeek’s Bitcoin for Beginners section, the ultimate resource guide to learn more about Bitcoin—as originally envisioned by Satoshi Nakamoto—and blockchain.