How to Start Building Your First BSV App with Project Babbage

London Blockchain Conference presentation on Project Babbage's Web3 innovations by Ty Everett and Brayden Langley

Project Babbage is a project focused on reshaping the future of identity, data, and privacy. During the London Blockchain Conference (31st May – 2nd June 2023), the project’s Founder and CEO, Ty Everett, and CTO Brayden Langley gave a presentation on the project including a demonstrations of some of their apps and infrastructure.

Everett and Langley believe in putting control of data and identity back into the hands of individuals. Project Babbage aims to create apps and infrastructure that help builders and users navigate web3 with scalable solutions that empower users, putting them in control of their data and protecting privacy.

Metanet client

In the first part of their presentation, Everett and Langley discuss the importance of the Metanet client software, which is available e.g. on one of the application websites they are going to showcase in the following. They explain that this client is essential for users who want to take control of their digital identities and experiences.

The client facilitates micropayments and simplifies the online experience, reducing the need for numerous passwords and accounts on different websites. Langley and Everett encourage users to download and set up the Metanet client to improve their online experience. Langley provides a brief demonstration of how the Metanet client works, showing how it authenticates users and simplifies their interaction with websites.

They emphasise the goal of enabling multiple applications to emerge for the Metanet client, providing users with control over their data and identities. Once the client is set up, users have a single identity that multiple apps can plug into, simplifying the login process. This showcases one of their principles regarding the move from web2 to web3: Users should not need to log into apps; rather, apps should connect to users.

BotCrafter

Langley and Everett then introduce BotCrafter, an example app created using the BSV blockchain and their technologies. BotCrafter is a marketplace for chatbots with custom personalities, which can be traded as NFTs on the blockchain. Users can buy, sell, and customise these chatbots, and those who create and list them on the marketplace can earn money when others use their bots. BotCrafter is just one example of the many apps they envision being part of their ecosystem.

Both then proceed to give a live demonstration and code walkthrough. They explain the steps for setting up and running the provided code for developers. Langley then demonstrates how to navigate the marketplace where creative chatbots can be created and shared. They introduce a specific GitHub repository and explain to the audience how to install and use BotCrafter.

Introducing Authrite

While giving a walkthrough through the code of BotCrafter, Langley and Everett encounter an occasion to showcase how authentication works in the provided code.

While he has the Metanet client installed and is logged in, Langley encounters an error indicating that Authrite protects a route. Authrite is a system developed for mutual authentication, and it requires that the corresponding client Authrite software be used to make requests to protected routes on the server.

Everett explains that the code they are working with is a simplified web2 application. They have already taken care of the AI-related aspects and styling, focusing on adding authentication and micropayments to demonstrate the integration with the Metanet stack. He emphasises that they have removed the blockchain-specific features from the front end and are focusing on adding authentication through the Metanet, simplifying user accounts and enabling micropayments.

Langley demonstrates making a specific code change, and once it’s saved, the browser automatically updates to show that he is authenticated. Everett emphasises that this approach simplifies user authentication, eliminates the need for traditional usernames and passwords, and provides a straightforward solution for user identity management in the future.

Enabling micropayments

In this part of the presentation, Langley and Everett discuss adding support for micropayments to the application they are working on. While working with Authrite an error occurs, which indicates that a BSV payment is required to complete a specific request. This gives the Project Babbage representatives the occasion to demonstrate how to enable micropayments.

To resolve this issue and enable micropayments, they introduced “PacketPay” a system they’ve created to authorise payments. PacketPay enables users to wrap any server API endpoint with a required payment. Langley demonstrates the code change, replacing “client. request” with “PacketPay” and saving the modification. Afterwards, he attempts to create a chatbot again, and the Metanet client opens, asking for authorisation to make the payment.

Everett explains that this user-friendly process involves communication between the frontend, backend, and Metanet client to facilitate a peer-to-peer payment, with Simplified Payment Verification (SPV) validation and adherence to open standards.

Showcasing Authrite

Having showcased two key functionalities of Project Babbage along the way, Langley and Everett continue their demonstration. They’ve already created a chatbot named Socrates and are now showing how to retrain it. Langley inputs new training data for a tour guide chatbot, adding context, user messages, and bot messages.

During this process, they highlight the spending authorisation request pop-up in the Metanet client. They explain that you can configure this to always approve payments of a certain amount within a specified duration, making the user experience more seamless. In this case, they click ‘Allow’ to retrain the bot.

Langley mentions that you can retrain your bot for various purposes, emphasising the flexibility of this system. He also mentions that you can list your bots on the marketplace for others to try or purchase. The marketplace allows users to pay creators to try out their bots and potentially buy them for exclusive access.

Demonstrating benefits and utility of Project Babbage’s Web3 applications

In this part of the presentation, Everett highlights the seamless integration between the client and the app they’ve demonstrated. The Metanet client is shown to display a record of actions and balances across the different apps that were used throughout the demonstration. This showcases various aspects such as account balances and more.

Everett emphasises the importance of abstracting the underlying complexities of the infrastructure so that application developers can focus on building great applications, rather than getting bogged down by these technical aspects. He appreciates the time he could save if he didn’t have to deal with the infrastructure, and this is why they are building the system to simplify the process for developers.

Towards the end of the presentation, Everett emphasises that BotCrafter is just one of many applications that can be built on the BSV platform. He encourages developers to explore and contribute to this emerging ecosystem. He also highlights the importance of technical standardisation efforts and suggests reaching out if you’re an enterprise looking to build applications in this space.