FAQ: BSV blockchain libraries

BSV blockchain libraries FAQ

BSV Blockchain is pleased to announce that the Standard Development Kit (SDK) for JavaScript and TypeScript is now available. The TypeScript SDK is designed to provide an updated and unified core library for developing scalable applications on the BSV blockchain.

This SDK replaces the previously popular bsvjs library, which is no longer maintained. The library enables developers to build applications with a peer-to-peer approach in mind. It makes Simplified Payment Verification (SPV) easy, which enables privacy and scalability.

Alongside the updating of the TypeScript library, the Utilisation team is also working to update and standardise the other main libraries. Below we have detailed some of the Frequently Asked Questions (FAQs) surrounding these libraries – including some of the important terminology you should know.

To help decide on which library to work on next, the Utilisation team will hold regular public polls where members of the ecosystem can vote on which library to work on next. We encourage you to follow our social media channels to find out more.

BSV libraries FAQ

What is npm, and what is a namespace?

  • npm is short for “node package manager”. It allows JavaScript developers to easily install libraries within their projects. A namespace is a method of grouping packages together on a registry using a shared identifier, which helps in distinguishing and organising them effectively. For example, to install the “something” package from the “bsv” namespace using npm, you would run the following command:

    npm install @bsv/something

What is a library in the context of software development?

  • A library is a collection of pre-written code that developers can use to perform common tasks or functions in their software projects. BSV libraries provide essential functions for building applications on the BSV blockchain.

How will unifying the BSV libraries into a single SDK help developers?

  • The unification of BSV libraries into a single SDK will streamline development by consolidating useful functions and eliminating unnecessary elements. This will improve the developer experience, promote compatibility, and enhance the overall quality of the ecosystem. By incorporating the best features from multiple libraries, the new SDK will provide a more reliable and comprehensive set of tools, saving developers time and effort.

Will this change affect existing BSV projects using different libraries?

  • While the unification process aims to improve library accessibility, it should not significantly impact existing projects. Developers can migrate to the unified SDK at their own pace.

Where can I find comprehensive documentation and additional resources for the ‘@bsv/sdk’ npm package and its components?

  • You can access basic documentation within the README files in the source code on GitHub. Additional resources will be shared on the official BSV Association website. There will be tutorial material produced in the months post launch to educate developers on how best to use the SDK.

How can I contribute to the development of the library or report issues?

  • Developers and community members are encouraged to contribute to the open-source development efforts on GitHub. https://github.com/bitcoin-sv/ts-sdk

Are there any licensing restrictions associated with using the library?

  • The library is released under the Open BSV licence, allowing developers to use it freely in their projects. This licence grants users the freedom to use, modify, and distribute the software. It is a modified MIT licence, limited for use in the BSV blockchain ecosystem only.

What benefits does standardisation bring to the BSV ecosystem?

  • It makes it easier for developers to collaborate and innovate on the BSV blockchain. It also enhances compatibility and reduces fragmentation.

How will the standardisation and centralisation of the library benefit educational outreach and global impact efforts?

  • By providing a stable and well-maintained foundation for educational materials and resources. This will enable the creation of high-quality educational content that can empower aspiring developers worldwide to innovate on the BSV blockchain.

Are there plans to develop libraries for other programming languages to further enhance accessibility and adoption?

  • While the primary focus is on JavaScript, due to its popularity and accessibility, Go, Rust, Java, and Python are considerations for the future which we will support based on developer demand.