BSV Blockchain is pleased to announce that the Software Development Kit (SDK) for Golang is now available. The Golang SDK is designed to provide an updated and unified core library for developing scalable applications on the BSV blockchain.
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.
The launch of the new SDK forms part of the wider BSV Blockchain Libraries Project, which aims to structure and maintain a middleware layer of the BSV blockchain technology stack. By facilitating the development and maintenance of core libraries, it serves as an essential toolkit for developers looking to build on the BSV blockchain.
Access the Go SDK on GitHub
Standardised open-source libraries
‘The drive towards standardised open-source libraries holds the promise of elevating product quality across the board. Its goal is to incentivise businesses towards adopting best practices, free from vendor lock-in,’ said Thomas Giacomo (Director of Utilisation) at BSV Blockchain.
‘As a result, contributing to these libraries becomes economically advantageous for companies, fostering a richer talent pool capable of constructing scalable BSV blockchain applications.’
This was echoed by Darren Kellenschwiler (Technical Lead of Utilisation) who noted that this emphasis on standardisation transcends mere uniformity in code; it aims to nurture a competitive yet collaborative community of innovators poised to unlock blockchain technology’s full potential.
‘By establishing clear open-source governance and guidelines, BSV Blockchain strides towards open innovation, harnessing the collective efforts of key stakeholders for mutual advancement,’ he said.
‘Developers are actively encouraged to contribute to open-source libraries, with their input subject to review and acceptance by those overseeing library repositories adhering to open-source principles and standards.’
Some of the changes include the standardisation of the following components:
- Sound Cryptographic Primitives: Functional implementations with code-level documentation and robust test vectors, drawing from NIST / Sec-G standards where available;
- Script Level Constructs: Interpreter implementation, script class, derived classes for locking and unlocking scripts, code-level documentation and robust test vectors;
- Transaction Construction and Signing: A transaction builder capable of creating any valid BSV transaction, complete with robust test vectors and code-level documentation;
- Transaction Broadcast Management: A transaction broadcast interface with ARC and BRC-22 implementations of the interface, including test vectors and code-level documentation;
- Merkle-Proof Verification: A Merkle path structure with BUMP JSON and binary formats, a proof verifier implementation, robust test vectors, and code-level documentation;
- Serialisable SPV Structures: A structure for SPV data, a standard headers client interface, and an SPV verifier, with robust test vectors and code-level documentation;
- Secure Encryption and Signed Messages: Enhanced mechanisms to facilitate secure encryption and private digital signatures between two parties, to replace Electrum-ECIES and Legacy BSM;
- Compatibility: A set of tools for application developers to enable switching to the new library without losing compatibility with their existing systems.
‘BSV Blockchain is leveraging the contribution of the most talented developers of the ecosystem to help standardise core open-source components. BSV Blockchain worked with Gorilla Pool and developers such as Luke Rohenaz, David Case, Jad Wahab, Jake Jones and Darren Kellenschwiller on the standardisation of the Go SDK,’ said Giacomo.
‘We clarified the open-source guidelines to enhance contribution from the ecosystem following standards handled by BSV Blockchain and aligned with upcoming infrastructure components from the Mandala upgrade.’
The BSV Blockchain Libraries Project
The launch of the Golang SDK follows the recent launch of the Software Development Kit (SDK) for JavaScript and TypeScript. This SDK provides a replacement for the previously popular bsvjs library, which is no longer maintained.
The project team will release a wealth of associated educational materials in the coming weeks and months so that developers can take full advantage of the new SDKs. Work is already underway to release a Python SDK based on community feedback.
The choice of the different libraries to standardise is due to the results of a survey to ensure alignment with ecosystem needs. It was also validated by in-house analysis of the most popular programming languages and the ones which will open new markets.
The emphasis on standardisation extends beyond merely establishing a consistent codebase; it’s about fostering a dynamic community of innovators who collaborate competitively yet cooperatively to unlock the complete potential of blockchain technology.
Through clarifying open-source governance and guidelines, BSV Blockchain is advancing towards open innovation, harnessing the engagement of essential stakeholders for mutual advancement and reaching the flywheel effect.