【技术访谈】与Babbage项目团队畅谈BSV区块链的新代码库

2024-04-03 14:20

本文主要是介绍【技术访谈】与Babbage项目团队畅谈BSV区块链的新代码库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

请添加图片描述
​​发表时间:2024年3月12日


BSV区块链协会近期宣布上线了JavaScript和TypeScript SDK,后者旨在为开发者提供先进的统一核心代码库,以便利开发者在BSV区块链上开发具备可扩展性的应用程序。

新上线的SDK替代了此前被广泛使用的、但已长期不再维护的bsvjs代码库,使开发者能够继续致力于构建点对点的应用。值得注意的是,这款工具精简了简易支付验证(SPV)的流程,从而提升了应用的隐私性和可扩容性。

这款SDK工具的发布是BSV区块链的代码库发展中的一个重要里程碑。BSV区块链的代码库计划旨在构建和维护BSV区块链技术栈的中间层组件。这款全新的SDK简化了核心代码库的开发和维护流程,对于想要充分利用BSV区块链潜力的开发者而言,它将成为他们必备的工具包。

Babbage项目团队对这款工具的发布起到了关键作用,目前他们正在与BSV区块链协会合作打造未来的代码库。以下是Babbage项目首席执行官Ty Everett对新上线的SDK的简要介绍,以及他对未来的展望。

问:你能简单介绍一下TypeScript SDK,以及它能如何为开发者们带来便利吗?

答:之所以要启动TypeScript SDK项目,是为了统一和整合现有比特币开发代码库中支离破碎的生态系统。这款工具是一个基础构建模块,能够为BSV区块链的应用开发者带来诸多助益,比如创建交易和加密数据,或是利用简易支付验证来提升可扩容性。

此次大幅升级了JavaScript和TypeScript代码库,新版的代码库移除了所有外部依赖关系,还启用了Tree-shaking功能,进而减少了包的大小并提升了页面加载速度。TypeScript代码库是一个经过统一整合且技术文档齐全的官方代码库,能够为新一代的开发者上手比特币、进入BSV区块链生态系统带来极大帮助。

问:更新代码库,并且为开发者提供更多选择,能够带来什么好处?

答:当代码库得到了良好的维护且易于集成时,整个开发者生态系统都会从中受益。通常,开发者们在在尝试研究无人维护且经常出错的过时代码的过程中,会遭遇各种摩擦且需要面对多样的复杂性,但我们将全行业现有代码库中最重要、最有用的功能整合到一个统一的产品中,就能大幅减少此类情况的发生。

此前常涌现出一些并不适用于BSV区块链的应用,但当时为了构建这些非必要且超级复杂的应用实例,开发者们创建了相应繁冗的代码库。现在我们设法大规模地清理了这些冗余代码,这样一来,使用了新版代码库的网站和应用程序的性能和加载速度便能得到提升。

问:TypeScript SDK是如何进行测试的?

答:以前,各个项目所依赖的JavaScript和TypeScript比特币代码库并不相同,因此开发者要在不同且互相不兼容的测试框架中编写测试代码。这些项目代码编写标准并不相同,有些项目几乎没有进行任何的测试,也没有相应的质量保证流程。

如今TypeScript代码库已经将所有必需的代码进行了统一整合,同时还将所有测试都纳入了Jest框架之下,从而确保了高度的测试覆盖率。新代码库已通过了所有的测试,并且对代码库的任何更新都必须附带相关测试,以确保未来的代码质量处于最高标准。

问:能否谈谈你们即将发布的配套教程?

答:我们要让开发者和商业领袖了解全新的TypeScript代码库的优势,从而让整个生态系统最终用上这套代码库。我们的团队制作了十多个示例项目,从如何开始使用代码库到安全消息加密,还有R-puzzles这类复杂脚本模板的讲解,当然了,教程也涵盖了创建和广播交易这类简单的概念,各种内容,应有尽有。

GitHub上有这些示例(示例项目地址:https://github.com/bitcoin-sv/ts-sdk/tree/master/docs/examples),我们正在与BSV区块链协会的教育和宣传团队合作制作更多互动内容。在接下来的几个月中,我们会制作与低级构建模块相关的教程,还将讲解充分利用BSV SDK工具包所必需理解的高级概念。相关的视频和文章估计会于今年晚些时候上线,敬请期待!可能还会有一些更新的BSV区块链学院课程,让大家打好基础。

问:能否谈谈你们正在开发的其它语言或者代码库?

答:BSV区块链协会还在努力开发一个Go语言的代码库,希望让更多使用不同编程语言的开发者以及更多的实用范例能够从BSV区块链的性能中受益。Luke Rohenez和David Case在统一和整合BSV区块链的Go语言生态系统方面做得非常出色,不久之后,我们还会看到Python版SDK的上线。总之,TypeScript SDK是覆盖网络和钱包这类未来项目的基础构件,它能提升BSV区块链生态系统的可扩容性及互操作性。


目前,全球已有超过400个项目构建于BSV区块链之上。凭借坚如磐石的协议及超高的网络性能,BSV生态系统迅猛发展,我们期待未来出现更多前所未有的商业应用。

  • 对BSV区块链开发感兴趣的朋友,可以前往我们的中文开发者专区:BSV区块链

这篇关于【技术访谈】与Babbage项目团队畅谈BSV区块链的新代码库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/873154

相关文章

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

python多进程实现数据共享的示例代码

《python多进程实现数据共享的示例代码》本文介绍了Python中多进程实现数据共享的方法,包括使用multiprocessing模块和manager模块这两种方法,具有一定的参考价值,感兴趣的可以... 目录背景进程、进程创建进程间通信 进程间共享数据共享list实践背景 安卓ui自动化框架,使用的是

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C