ArcBlock 博客 | 开放链访问协议为何采用 GraphQL

作者:陈俊 (ArcBlock 公关副总裁)

为帮助大家深入了解 ArcBlock 的开放链访问协议的实现和技术细节,我们的工程团队将定期接受采访或撰写技术博客来“解密” OCAP 背后的设计思路和实现细节,欢迎大家的批评指正,在讨论中进一步完善我们的设计和产品。

今天发表的“深入理解 OCAP 实现”系列之二《开放链访问协议为何采用GraphQL》是由 ArcBlock 市场团队对工程团队开展一系列内部专访撰写而成,首度披露 ArcBlock 采用新一代查询语言 GraphQL 的来龙去脉。

前言

尽管目前全球加密数字货币市场低迷,区块链技术发展在 2018 年却进入了底层公链项目万链齐发的 3.0 时代:针对以比特币、以太坊为代表的区块链 1.0 、2.0 技术充分暴露出的性能低下、用户不友好、功能匮乏、费用高昂、平台“锁定”等痛点,层出不穷的新公链提出了各种技术解决方案。

同样是推动区块链技术普及落地,促进响应消费者需求、应用于各行各业的去中心化应用(DApps)的发展繁荣,ArcBlock 区块基石的思路却与众不同:不是新建一条公链,而是从应用开发的需求出发,利用云技术搭建一个专门为 DApp 开发部署服务的区块链生态平台,帮助开发者去访问连接各种公链,得以更专注便捷地开发 DApp,让区块链应用变得跟今天网页及移动端应用一样简单易用。

搭建这样一个地位相当于 Web 开发里 J2EE、微软的 .Net 框架的云计算平台,开放链访问协议(Open Chain Access Protocol,简称 OCAP)便成为大厦将起的坚实基础。OCAP 这一开源协议提供一个访问下层区块链的抽象接口层,以帮助开发的应用能够在不同的区块链上工作。“ 类似于在数据应用中的 ODBC 或 JDBC 在和各种不同数据库之间的关系一样,”今年1月初发布的ArcBlock 技术白皮书如此描述,“(DApps)在切换不同的底层区块链、或者使用多条不同协议的区块链的时候,你甚至不需要更改你的业务逻辑代码。”

为帮助开发者轻松访问连接并切换底层公链,ArcBlock 在开发实现 OCAP 时在业界率先采用新一代 API 查询语言 GraphQL ,而非业内普遍采用的 RESTful。

什么是GraphQL

GraphQL是Facebook2012年内部开始使用, 2015年开源的新一代API查询语言。在GraphQL的官方网站上,他们用代码直接描述了其最主要的特点。

API 开发者仅需要描述 API 的 schema,并为其提供合适的 resolver,客户端就可以很方便地使用 GraphQL query language 来查询数据,而服务器会按照客户端的需求,返回相应的结果。

GraphQL  支持 Query(数据查询)、Mutation(数据更新),以及 Subscription(数据监听)三大类 API,每种 API 都会通过 resolver 返回客户端需要的结果,如下图所示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值