博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BCHD开发出可替代BCH全节点的公开API——gRPC
阅读量:5874 次
发布时间:2019-06-19

本文共 1501 字,大约阅读时间需要 5 分钟。

hot3.png

2a36915f4cb557acd1125614884a85b8

近日,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的相关应用和配套的基础设施也能够从中受益。

转载于:https://my.oschina.net/u/3971972/blog/3045702

你可能感兴趣的文章
Swift 烧脑体操(二) - 函数的参数
查看>>
用Elm语言降低失败的风险
查看>>
荷兰商业银行使用精益领导力推行改进
查看>>
Java 10新特性前瞻
查看>>
每秒解析千兆字节的JSON解析器开源,秒杀一大波解析器!
查看>>
搜狗回应“统计加班时长裁员”;多家国产浏览器限制访问996.ICU;波音推迟737 Max软件修正丨Q新闻...
查看>>
Hazelcast发布Jet 0.6版本
查看>>
深入浅出Tensorflow(三):训练神经网络模型的常用方法
查看>>
小米大数据:借助Apache Kylin打造高效、易用的一站式OLAP解决方案
查看>>
一个小米SRE的日常问题排查记录
查看>>
多重影分身:一套代码如何生成多个小程序?
查看>>
QCon北京2016:企业级云服务技术应用与实践
查看>>
Box开源持续本土化平台Mojito
查看>>
第12次敏捷状态报告发布
查看>>
css 样式收集
查看>>
组件规范和生命周期——react文档翻译
查看>>
使用express-http-proxy解决跨域问题
查看>>
springboot发送mail
查看>>
Android Classloader
查看>>
JavaScript 中的正则表达式
查看>>