内容简介:近日,BCH社区开发商Bchd发布了一款用go语言编写的可替代BCH全节点的gRPC API。据开发者介绍称,这是一个具备高性能且可靠的服务器,它的出现会使bchd成为比特币现金生态系统中最顶级的索引gRPC开发背景
近日,BCH社区开发商Bchd发布了一款用 go 语言编写的可替代BCH全节点的gRPC API。据开发者介绍称,这是一个具备高性能且可靠的服务器,它的出现会使bchd成为比特币现金生态系统中最顶级的索引 区块链 服务器之一。
gRPC开发背景
大多数的完整节点,比如Bitcoin core、BCH ABC或BU等,它们的全节点客户端计算和存储的数据非常少,这样虽然对于节点运行商没什么影响,但对于一些钱包、区块浏览器等生态基础设施却不是很友好,因为客户端没有足够预留的数据空间为这些基础设施服务。
在完整节点预留空间不足的情况下,基础设施商的开发人员通常会寻求第三方索引服务器的帮助,比如Bitpay的Insight服务器,这些服务器一般是额外的软件,需要安装在整个节点上,而且它计算所需的索引需要通过公共API获取。
索引服务器大多难以安装和在生产环境中运行,比如Insight服务器对某些类型的数据需要做重置API处理,随后还需要使用WebSockets和socket.io。另外,Electrum服务器使用的stratum API过于笨重和繁琐。
基于上述现象,Bchd开发商提供了一个“开箱即用”的解决方案,它只需要使用者下载二进制文件并运行就可以了。
gRPC是什么,它有什么用处和优点?
gRPC API是用go语言编写的一个新的服务器,可以替代BCH全节点(比如ABC和BU),帮助基础设施开发者们解决全节点数据不足的问题。
它拥有许多优于原系统遗留JSON-RPC以及各种REST / WebSocket API的优势,它为用户提供了一个高性能且可靠的服务器,具有快速同步模式等功能,允许客户端的初始链在记录时间内同步下载。该节点还包括BIP113,157,158等属性和可调整区块大小上限。使用gRPC,可以非常轻松地构建定义明确、易于推理的API。
前端开发的具体表现:
· 不再需要查找API文档 – proto是API契约的规范格式。
· 不再需要手动编写JSON调用对象——所有请求和响应都是强类型和代码生成的,IDE中提供了提示。
· 不再处理方法、标题、正文和低级网络 – 一切都由gRPC处理。
· 不再猜测错误代码的含义 – gRPC状态代码是表示API中问题的规范格式。
· 不再需要一次性从服务器端请求处理程序来避免并发连接 –gRPC基于HTTP2,在同一连接上多路复用多个数据流。
· 从服务器传输数据不再有问题 - gRPC-Web支持1:1RPC和1:多个数据流请求。
· 在推出新二进制文件时,不再有数据解析错误 - 请求和响应的向后和向前兼容性。
BCH基础设施开发者的又一福利
相较于传统的互联网应用开发来说,在现阶段基于 区块链 底层协议的开发难度要更高一些,而 区块链 行业的技术从业人员又非常有限,在这种情况下,如果想要加快某条公链应用的开发进度,那么完善其开发配套设施就显得非常重要了。
gRPC API无疑是非常优秀的一项基础服务,它可以有效减轻BCH相关应用的开发难度,加快应用的落地速度,进而完善整个BCH生态体系。
类似于gRPC这样的辅助 工具 在BCH社区还有一些其它的,比如Bitcoin.com推出的开发者平台,在4月11日,还平台的REST服务层一天甚至收到了超过500万个请求,这表明BCH开发人员正在使用这些辅助工具构建一些新型应用。
相信未来还会有更多的辅助开发工具被构建和分享,而基于BCH的相关应用和配套的基础设施也能够从中受益。(比特币之家)
AD:
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- xml创建节点(根节点、子节点)
- Vultr VPS 节点选择方法 | 各节点延迟一览
- 1.19 JQuery2:节点插入与节点选取
- POC分布式节点算法机制下的超级节点计划
- tikv节点下线缩容后改造成tidb节点记录
- Redis 哨兵节点之间相互自动发现机制(自动重写哨兵节点的配置文件)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。