BCH升级将至,,BCHD带来的gRPC API有什么用?

  • 时间:
  • 浏览:13

  随着BCH的网络升级越来越近,各大BCH全节点客户端也在配合升级,及时实施规则的变更,以便每一个节点都有足够的时间进行升级。目前,BCH的几大全节点客户端都已经早早的增加了对 5 月 15 日BCH升级的全面支持。

  不过,BCH的全节点实现除了达成共识的规则变更之外,也有自己的一些特色。例如Bitcoin Unlimited开发团队在其发布的最新版本中除了包含 5 月 15 日BCH要升级的内容隔离见证修复和Schnorr签名之外,还有很多是关于他们一直研发的石墨烯技术。

  5 月 3 日,BCH的另外一个全节点实现BCHD也进行了版本的升级。BCHD在其三月份发布的版本中就已经添加了此次BCH所要升级的内容,而最近的升级则主要是为了引进新的公开API——gRPC API。

  

  BCHD是一个用Go(golang)编写的比特币现金全节点实现,已经为用户提供了一个高性能和可靠的服务器,具有“快速同步模式”等功能,允许客户端的初始链同步在记录时间内下载,该节点还包括BIP113,157, 158 等属性和可调节区块大小上限。在其 2019 年路线图中,其开发者曾提到要实现gRPC API。他们认为:“传统的jsonrpc API有点苛刻且烦人。我们的计划是基于gRPC创建更加现代化的API。一旦实现这一点,我们相信BCHD将是需要访问区块链数据的应用程序的最佳后端选项。这将包括下载SPV证明的能力,以便开发人员可以使用它来构建基于服务器的SPV钱包。”

  BCHD的开发人员表示,bchd 0.14. 3 的发布带来了期待已久的功能,一个公开API,这使得BCHD成为比特币现金生态系统中最顶级的索引区块链服务器之一。

  目前大多数全节点实现,如Bitcoin-Core, Bitcoin-ABC, 或者Bitcoin-Unlimited仅计算和存储维护本地钱包所需的最小数据。它们通常不会计算和存储足够的数据来为钱包,区块浏览器或基于BCH构建的众多其他应用程序等提供服务。对于这个功能,开发人员通常转向索引服务器,比如Bitpay的Insight server。这些服务器通常是额外的软件,需要安装在全节点之上,连接到它需要计算所需的索引并通过公开API提供数据。

  不过,这一方法却又很多不足之处,这也得到了使用这些服务器的开发人员的证明。它们往往很难在生产环境中安装、运行和保持运行。此外,这些服务器公开的API并不是那么好。Insight对某些类型的数据使用REST API,但随后需要使用WebSockets和socket.io。Libbitcoin使用ZMQ!这要求开发人员导入大型C依赖项。Electrum服务器使用笨重且繁琐的stratum API等等。

  Bchd使用的gRPC方案是开箱即用的解决方案,只需下载二进制文件并运行它即可。它使区块链工程师更容易获得更好的索引体验和由Google创建的可靠的RPC框架。

  gRPC API的优势:

  l 不再搜索API文档或处理记录不良的API——.proto 是API合约的规范格式。

  l 不再需要手工编写JSON调用对象——所有请求和响应都是强类型的和代码生成的,IDE中有可用的提示。

  l 不再处理方法,标题,正文和低级网络——一切都由gRPC处理。

  l 不再猜测错误代码的含义——gRPC状态代码是表示API中问题的规范方式。

  l 不再需要一次性服务器端请求处理程序来避免并发连接—— gRPC基于HTTP2,通过同一连接多路复用多个流,所以没有更多的封锁。

  l 从服务器传输数据不再有问题——gRPC支持1:1 RPC和1:多个流请求。不再有尴尬的REST / WebSocket组合API。

  l 在推出新的二进制文件时,没有更多的数据解析错误——请求和响应的向后和向前兼容性。

  l 无需编写任何客户端代码,因为protoc编译器将自动生成客户端库,包括线序列化和反序列化代码,几乎适用于所有主要语言。编译器会编写数千行代码,因此开发者不必再这样做。

  在过去的几个月里,BCH网络推出了很多种应用程序。BCHD的最新gRPC API的增加可以帮助BCH的壮大其生态,也会为众多开发人员带来很多便捷。对于开发人员来说,开发一个新的应用程序是比较繁琐的,此类API能够提高开发人员的效率,帮助他们加快开发进程。

  除此之外,丰富的开发工具以及便捷的开发环境将吸引更多应用程序开发人员加入到BCH社区中。这些开发人员将利用这些开发工具开发出一系列的应用程序,将BCH纳入到更多的用例中,壮大BCH的生态,加速BCH的采用,推动BCH更快的发展。

  本文由站长之家用户投稿,未经站长之家同意,严禁转载。如广大用户朋友,发现稿件存在不实报道,欢迎读者反馈、纠正、举报问题(反馈入口)。

  免责声明:本文为用户投稿的文章,站长之家发布此文仅为传递信息,不代表站长之家赞同其观点,不对对内容真实性负责,仅供用户参考之用,不构成任何投资、使用建议。请读者自行核实真实性,以及可能存在的风险,任何后果均由读者自行承担。