Updating BSV blockchain’s libraries – An interview with Project Babbage

This SDK launch marks a pivotal milestone within the broader BSV Blockchain Libraries Project.

BSV Blockchain recently announced the availability of the Standard Development Kit (SDK) for JavaScript and TypeScript. This TypeScript SDK is designed to furnish developers with an advanced and consolidated core library tailored for crafting scalable applications on the BSV blockchain.

Serving as a successor to the previously favoured bsvjs library, which is now defunct, this SDK empowers developers to adopt a peer-to-peer approach in their application development endeavours. Notably, it streamlines Simplified Payment Verification (SPV), thereby promoting privacy and scalability.

This SDK launch marks a pivotal milestone within the broader BSV Blockchain Libraries Project. This initiative is geared towards organising and sustaining a middleware layer within the BSV blockchain technology stack. By streamlining the development and upkeep of core libraries, it functions as an indispensable toolkit for developers seeking to harness the potential of the BSV blockchain.

The team at Project Babbage was key to this latest launch and is currently working alongside BSV Blockchain on future library releases. Below, Ty Everett (CEO of Project Babbage) gives an overview of the new SDK and what to expect going forward.

Can you give a brief explanation of what the TypeScript SDK is and how it will benefit more developers?

The TypeScript SDK project was started as an initiative to unify and consolidate the fragmented ecosystem of existing Bitcoin development libraries. It’s a fundamental building block that helps BSV developers with things like creating transactions, encrypting data, and using Simplified Payment Verification (SPV) for enhanced scalability.

It’s a massive upgrade over previous JavaScript and TypeScript libraries because it removes all external dependencies and enables features like tree shaking to reduce bundle sizes and increase page load times. The TypeScript library will help bring the next generation of developers into the BSV ecosystem by providing a single, unified, officially supported and well-documented way to get started in using Bitcoin.

What is the benefit of updating these libraries and giving developers more options?

The ecosystem benefits when libraries are well-maintained and easy to integrate. By consolidating the most important and useful features of existing libraries from across the space into one unified offering, we reduce the friction and complexity associated with trying to pour through old, unmaintained and often broken code.

Often, this code was originally written to support unnecessary and overcomplicated use cases not applicable to the BSV blockchain, and we’ve managed to eliminate significant amounts of this bloat. This increases the performance and load times of every website and app that makes use of the new library.

What is the testing process like for the TypeScript SDK?

Previously, different dependencies of various JavaScript and TypeScript Bitcoin libraries wrote their tests in different, incompatible testing frameworks. There were different coding standards across these projects, with some having little to no testing or quality assurance in place at all.

The TypeScript library has unified and consolidated all necessary code into one single place, while also bringing all testing under the Jest framework and ensuring a high degree of test coverage. All tests on the new code are kept passing, and any new changes to the library must also come with associated tests to ensure the highest code quality going forward.

Can you talk about some of the accompanying educational materials you are also releasing?

Educating developers and business leaders about the advantages of the new TypeScript library is the process that will ultimately lead to its adoption and use across the ecosystem. The team has produced over a dozen examples demonstrating everything from how to get started using the library, to secure message encryption, complex script templates like R-puzzles, and of course, simple concepts like creating and broadcasting transactions.

The examples are available on GitHub and we are collaborating with the BSV Blockchain Education and Marketing teams to produce more interactive content. Over the coming months, we will also produce educational materials relating to the low-level building blocks, and higher-level conceptual understandings necessary to fully benefit from what the BSV SDK has to offer. Expect videos, articles and — later this year, perhaps even some refreshed BSV Academy courses showing people everything they need to get on their feet.

Can you talk about some of the other languages/libraries you are working on?

The BSV Blockchain is also working to develop a Go library, enabling more developers working across a broader spectrum of languages and use cases to benefit from what the BSV blockchain has to offer. Luke Rohenez and David Case are doing a fantastic job in their efforts to unify and consolidate BSV’s Go ecosystem in the same way the Babbage team has done with TypeScript.

We’re also likely to see a Python version of the SDK before too long. The TypeScript SDK is a fundamental building block for future projects, such as overlay networks and wallets, enabling a more scalable and interoperable BSV blockchain ecosystem.