BSV Technical Standards Committee Webinar: Show me the code

BSV TSC Webinar: Show me the code

Members of the Technical Standards Committee of the BSV blockchain (BSV), James Belding (CEO of Tokenized) and Jack Davies (Strategy Manager for nChain) recently presented a webinar to introduce interested developers and entrepreneurs to relevant infrastructures of the BSV ecosystem.

The presentation aimed at making the audience familiar with what tools are available and offering insights into the quality, importance, and practical use of these resources for their projects. The presentation was divided into three sections:

  • Standards & protocols and services;
  • Key implementations;
  • Services for developers.

Introduction to the BSV Technical Standards Committee

Belding describes the BSV blockchain as the original protocol that aims to adhere to Satoshi’s vision. Key features of BSV include massive scale, proof of work, flexibility, and stability. BSV is designed to be a foundational and stable protocol, allowing businesses to build upon it without frequent changes causing disruptions.

The ethos behind BSV is business-oriented, focusing on providing utility and emphasising its long-term viability. Belding points out that, unlike other blockchains, BSV stands out for its utility and its potential to endure for decades, offering stability for developers and long-term profitability for network operators.

Belding recommends the BSV Wiki to newcomers, a valuable resource for understanding the BSV protocol and network. It provides comprehensive information about the Bitcoin protocol, system mechanics, technical details, transaction concepts, and various technical ideas.

Belding noted that the BSV Wiki is a solid starting point for anyone considering building on BSV, as it offers a clear understanding of how BSV works. He recommends using the BSV Wiki to grasp key concepts before diving deeper or seeking further information through chat groups.

BSV Standards and Protocols

In the BSV ecosystem, a range of protocols and standards have emerged to enhance the functionality, accessibility, and security of this blockchain technology. These protocols play a pivotal role in facilitating efficient transactions, data management, and communication within the BSV ecosystem. In the webinar, Belding and Davies took turns to present these important foundations of the BSV infrastructure.

Merchant API (mAPI)

Belding discussed the Merchant API (mAPI), an API service for merchants, wallets, and various Bitcoin clients to submit transactions and check if they have been accepted or rejected by miners. It also provides fee quotes for transaction fees. Belding mentions that mAPI has been widely used and has been the dominant standard for some time. He briefly notes the emergence of a new standard called ARC, which is still in the beta stage but is gradually gaining traction.

In the short term, mAPI remains a reliable choice. It is associated with nChain and is intended for the entire Bitcoin ecosystem. Belding hints at further coverage of mAPI implementation and the potential changes introduced by ARC. Technical specifications for ARC are mentioned as available for later reference.

Paymail

Paymail is a standard for human-readable addresses and discovery in the world of Bitcoin. Belding describes how Paymail serves as an alias for the complexity of Bitcoin wallets, which use various complex addresses and locking scripts. Paymail functions like an email address, making it easy to share, resilient to errors, and offering a user-friendly way to identify wallets when conducting transactions. Belding emphasises that this approach is important for the evolving landscape of wallet privacy and more complex transactions.

Paymail is widely accepted in the BSV ecosystem, with significant transaction use in important BSV wallets. Belding provides a link to the Technical Standards Committee library, where the Paymail standard has been published after undergoing a rigorous drafting and review process. He mentions the availability of an implementation for further exploration. In summary, Paymail is considered an email-style addressing system for wallets and is becoming a widely used standard in the ecosystem.

Metanet Protocol

Davies introduced the Metanet protocol, which he helped develop years ago at nChain. It is a layer-two overlay protocol designed for managing data on the BSV blockchain. He highlights that many other similar protocols exist, such as the Bitcoin attestation protocol, each serving specific purposes. The Metanet protocol, in particular, provides a data structure for managing data on the blockchain, with the flexibility to add additional protocols for data encryption, signing, or any desired data manipulation. By clicking on the provided link, users can access the BSV wiki for detailed information about the protocol definition, including node structure and transaction rules.

Davies underscores that miners don’t necessarily enforce these rules, but application developers can use them as layer-two rulesets, enabling various interpretations of on-chain data. This demonstrates the richness and versatility of data protocols within the BSV ecosystem. He also hints at exploring other protocols in the upcoming discussion, particularly the Envelope Specification.

Envelope Specification

The Envelope Specification is an effort by the Technical Standards Committee (TSC) to facilitate the collaboration of various data protocols within the BSV ecosystem. This specification aims to enable multiple protocols to be applied to the same data item, providing a way for them to work together, although they are not obligated to do so. The TSC website includes information about the development of this standard, its background, motivation, and the problem it addresses. The specification emphasises the need for data protocol interoperability.

Davies recommends exploring the “Envelope Specification” because it not only demonstrates how various protocols can collaborate but also explains specific protocols, including encryption methods for secure on-chain data.

Peer Channels

Belding explains the concept of Peer Channels, which aims to bring peer-to-peer interactions into practice. Peer Channels are services that can be operated by wallets and can facilitate various interactions, including service-to-service, service-to-client, and more. These interactions encompass services from miners and clients, contributing to the broader Bitcoin network. Tokenized, for instance, utilises Peer Channels to create relationships between wallets and businesses for communication.

Belding refers to the Github repo of Peer Channels mentions that they are compatible with IPv6 and notes that Tokenized has its reference implementation used in production. He describes Peer Channels as a Bitcoin-specific, streamlined communication system, akin to an email system but tailored to BSV’s transaction needs, including Tokenized messages. The protocol offers features like ensuring message delivery even when the recipient is offline.

Key BSV Implementations

The presentation then delved into some of the notable key BSV implementations that demonstrate how this technology can be used to create valuable solutions and how development can be streamlined. Whether you’re a developer looking for tools or an entrepreneur seeking to innovate your business, these real-world applications of BSV will provide you with insights into the possibilities that this blockchain technology offers.

BSV Node

Belding introduces the BSV Node, explaining that it is the node software currently used by miners and overlay network services. This node software is based on the original Bitcoin node software.

The BSV Node is described as a foundational software that underlies the Bitcoin network, making it an essential starting point to learn about Bitcoin’s functionality, code, policies, and methods. It is noted that a new version, Teranode, is under development to replace the BSV Node. Teranode is designed from the ground up to address scalability limitations, provide flexibility in scaling and adjustments, and improve integration with overlay services like ARK and Metanet. It aims to enhance performance, reliability, and communication with miners.

The discussion encourages users to explore the BSV Node repository, as it contains a rich history of development, including comments, pull requests, discussions, and forums, which offer insights into the software’s evolution, debates, and reasons behind certain design choices.

Tokenized Protocol

Belding presents the Tokenized protocol, emphasising that it is open source and free to use without licensing issues. He explains that the Tokenized protocol is essentially a smart contract protocol, with a significant focus on tokens. The protocol specifications are outlined in their repo specifications, which define the protocol’s structure. The protocol enables the issuance of tokens, and smart contracts, and facilitates trading.

Interacting with Tokenized protocol tokens using basic wallet functionalities, such as transfers and simple actions, is relatively straightforward. However, delving into more complex contract functionalities for intricate instruments requires significant work on both the wallet and platform sides.

Tokenized offers a variety of open-source implementations and documentation available in multiple languages to support developers in using and building on the protocol. Belding also mentions a transaction builder that helps with constructing transactions using Tokenized protocol encoding and decoding.

Bitcoin Reader

Bitcoin Reader is described as a tool that operates as a sort of “listening node.” It allows you to read and process all of the traffic on the Bitcoin network or the stream of Bitcoin transactions. Essentially, it provides access to the network, and you can process incoming transactions, deciding whether to keep or discard them. This tool is used internally by Tokenized, and they have made it open source for public use. It’s a valuable resource for companies and hobbyists interested in Bitcoin transaction data analysis.

sCrypt

sCrypt is a notable implementation in the context of developing BSV. It serves as a bridge between traditional Bitcoin development and the complexities of Bitcoin’s low-level script-based language. sCrypt provides a high-level language structure and a comprehensive framework for creating smart contracts using Bitcoin script. This allows developers to write contracts that resemble Ethereum-style smart contracts and are more akin to JavaScript and TypeScript. These higher-level smart contracts are then compiled into Bitcoin script, which can be included in Bitcoin transactions and added to the blockchain.

sCrypt offers extensive documentation, including explanations of Bitcoin smart contract models and tutorials to guide users in writing smart contracts using the sCrypt framework. The documentation also covers various use cases like time locking, auctions, oracles, zero-knowledge proofs, and voting. It enables interaction with BSV’s data protocols and standards. There is also a repository with example implementations and boilerplate code for different use cases, making it a valuable resource for simplifying Bitcoin development and enabling a smoother transition for developers new to the BSV ecosystem.

TxForge and Nimble

If you prefer building transactions quickly and efficiently without delving into complex scripting, there are libraries available for that purpose. Two notable ones are TxForge and Nimble:

TxForge: TxForge is a high-level library that simplifies transaction building. It offers various features, including UTXO management. This library assists in creating transactions based on defined UTXOs and simplifies the process of working with BSV. It’s a convenient option for developers looking to build transactions more easily.

Nimble: Nimble is a lower-level, all-purpose JavaScript library for BSV. TxForge is built upon this library to make transaction building more accessible. If you require more control over private key management, customizing your transactions, and handling keys securely, Nimble may be a better choice. It allows you to work with transactions and private keys in a highly flexible manner and can be integrated into your applications.

Both libraries simplify the process of integrating BSV into your applications, making it easier to work with transactions and private keys. Developers can choose the library that best fits their specific needs and development preferences.

BSVLIB

If you prefer using Python over JavaScript for BSV development, you can consider using BSVLIB. BSVLIB is a Python implementation that provides various standard functionalities, including key management, digital signatures, and support for common script types like public key and multisig. It also integrates with APIs like the Weather SV API.

This library is a suitable choice for developers who prefer Python for their blockchain-related work, especially if they are interested in data analysis and examining different transaction protocols. It is an equivalent option for Python developers compared to JavaScript libraries like Nimble.

Envelope System

The Envelope System is an implementation of the aforementioned Envelope Specification. It is a valuable BSV data protocol that allows data stored within transactions to be effectively interpreted and understood by various services. This protocol has been developed and implemented by the Tokenized team. Envelope offers flexibility and robust features, making it a solid foundation for achieving interoperability with on-chain data. It serves as a practical solution for making sense of data encoded within BSV transactions, ensuring it can be efficiently utilised by different services and applications.

BSV Services for Developers

The next section of the presentation explored a range of BSV services designed to empower developers and offer them the tools they need to interact with the BSV blockchain effectively. From feature-packed block explorers and data analytics platforms to low-level indexing systems and integration solutions, these services cater to a diverse spectrum of development requirements.

What’s on Chain

What’s on Chain is an invaluable resource for the BSV ecosystem, serving not only as a block explorer but also offering various other features and tools. It lets users explore live blockchain data, view transactions, and check blocks. Additionally, you can take advantage of the following features:

Broadcast Transactions: You can conveniently broadcast transactions directly from your browser, making it an excellent tool for testing the validity of your transactions or scripts.

Access the API: What’s on Chain offers an API, which can be particularly useful for research purposes. You can both retrieve data from the blockchain and submit data using this API.

Mempool Summary: This feature provides insights into the current Mempool, including information on fee rates, helping developers manage transaction costs effectively.

Blockchain Stats: On the Stats page, you can find a wide range of statistics, including data on blockchain applications and general blockchain usage.

With its constantly evolving features and tools, What’s on Chain is a go-to resource for anyone working with BSV. It’s a platform that you should explore thoroughly to get the most out of its capabilities and stay updated with the latest developments in the ecosystem.

TAAL

TAAL is a significant player in the BSV mining space and provides a platform with various API services closely integrated with What’s on Chain. Users can sign up on the TAAL platform to manage API keys for accessing these services. The platform offers several products and services, some of which Davies showcased briefly:

Wallet: TAAL provides a wallet service for managing BSV transactions.

SDK for Token Protocol: This SDK assists in working with the Token Protocol on the BSV blockchain.

Token Service API: This API helps manage transactions associated with specific tokens, streamlining token-related operations.

Bitcoin Analytics

bsvdata.com is a valuable resource for Bitcoin analytics. While What’s on Chain provides basic statistics, BSV Datacom offers a more detailed application breakdown of blockchain activity. It identifies which applications are generating the most transactions on the BSV blockchain.

This platform allows you to gain insights into the utilisation of data protocols and standards discussed earlier. The connection between these protocols and analytics is that data is analysed based on its structure within BSV transactions. If specific hash transactions or script patterns are recognised, the platform attributes them to certain data protocols.

BSV Datacom also provides various analytics tools, similar to What’s on Chain. It’s an essential resource for anyone looking to understand which applications are prevalent on the BSV blockchain, and it can serve as proof of success for specific applications.

Jungle Bus

Jungle Bus is an essential tool for developers building high-throughput applications on the BSV blockchain. It provides a low-level indexing system for blockchain data. Instead of querying the blockchain directly or maintaining a full copy of the blockchain and scanning through all the data to find specific information, Jungle Bus offers an API service to index data based on different criteria.

This indexing system allows developers to create and manage subsets of data stored on the blockchain for efficient application querying. Whether an application relies on a particular script pattern or transaction type, Jungle Bus can help index that data, making it readily accessible without the need for developers to build their custom index. While developers can create their indexes, Jungle Bus simplifies this process and is particularly useful for new developers looking to get started with BSV development.

Bitails

Bitails is a service that provides an API interface for various BSV application development tasks. It offers features similar to what you can do with Python and JavaScript libraries, such as managing addresses and transactions, checking blocks for mempool data, and inspecting network statistics. Bitails combines the functionalities of block explorers like What’s On Chain with lower-level libraries like BSV for Python and Nimble for JavaScript, making it a convenient one-stop shop for application development. The service is well-documented, providing a helpful resource for developers.

HandCash Connect

HandCash Connect provides an API and SDK that makes it easy for applications to integrate with HandCash payments. HandCash is a popular wallet in the BSV ecosystem, and many successful BSV applications use HandCash Connect for payment integration. The SDK allows developers to connect their applications with HandCash for payments, making it a convenient solution for adding payment capabilities to new games or consumer-facing applications without the need to build a wallet or payment infrastructure from scratch. This integration enables users to make payments, including micropayments, and access various web3 use cases within the connected applications.

Relysia

Relysia offers a comprehensive API and SDK suite for BSV developers, making it a one-stop shop for various development needs. They support numerous BSV applications and provide a range of resources, including educational content. Developers can create an account to access these resources, and Relysia offers products and services tailored to different application needs, such as data management and managed services. As a well-established player in the BSV space, Relysia is a valuable resource for BSV developers to explore and utilise in their projects.

Tokenized

As the CEO, Belding describes Tokenized as a smart contracting platform-as-a-service that aims to provide an integrated and user-friendly experience for real issuers of financial instruments and their investors, holders, and counterparties. It includes both a desktop and mobile app. The mobile app serves as a wallet for signing and key management, while the desktop app handles data management, transaction preparation, and communication.

Tokenized offers a comprehensive set of protocol documentation that defines the contract structure, data structures, and methods for managing transactions across their lifecycle. The platform aims to standardise and structure contract terms and conditions, making them codified for execution.

Tokenized also provides an SDK and API for developers, allowing for easy integration with its platform. The SDK is recommended for developing applications that interact with complex features, as it simplifies the process. The API is more suitable for internal use and connects to the desktop app and SDK.