dfuse 为 EOS 带来 GraphQL 的力量
我们 dfuse 的使命是为区块链开发带来强大的工具,我们很荣幸现在能把 GraphQL 的优势带到 EOSIO 上 。它在运行查询时大大减少返回的有效负载,使您能够精确定位所需的数据。
GraphQL 在 2015 年被 Facebook 开源,继而软件工程师们就开始大面积的采用它。它简化了许多开发人员的工作,这在很大程度上是由于它运用了共享式的和限定性的原理:这为开发人员和 API 提供者之间提供了明确的合约界限。
GraphQL 查询和订阅查询
GraphQL 查询语言就是对请求和响应调用,但是,它跟一次只能获取一个数据资源的 REST 不同,GraphQL 查询使你可以在单个查询中获取多个相关的数据。网上也有大量对 REST 和 GraphQL 的对较。
GraphQL 的订阅查询一般通过 WebSocket 启动消息流,以使应用程序能够实时能对任何新的内容进行通知。 通过 dfuse 在 GraphQL 进行订阅查询,你能够实时读取交易,让您能够更好的观察链的分叉和重组。
在 GraphQL 上用 dfuse 的入门
我们在 dfuse 的文档中做了具体的入门向导,其中有 Go 和 JavaScript 的例子。我们还有一个扩展性的文档,帮助你充分利用这些新端点。
dfuse 为服务器到服务器的连接通过 gRPC 提供了 GraphQL,也为浏览器用户提供了 Apollo WebSocket 传输协议。
你可以直接用我们的 GraphiQL playground 测试一下。 你会看到我们做了内置的自动补全功能,有助于更容易直接的找到你需要每个字段和相关文档。
使用 GraphQL 的一些好处:
- 节省带宽和处理的时间:只检索你需要的数据,避免无用的数据堵塞管道和数据计划。
- 结合了 API 中的全新搜索功能,你可以在流模式下使用 dfuse Search:你可以更具体地了解你检索的内容。
- 严格定义的模式,干净的文档,轻松的发现字段,自动补全,是不可比拟的开发人员工具和大量改进的开发体验。
- 对于 EOS,这意味着某些字段的可配置编码(例如将数字表示为帐户名称、资产符号或十六进制字符串等),用更少的查询做更多工作。
我们已经慢慢将 GraphQL 端点推广到所有支持的网络。 dfuse GraphQL 界面目前处于测试阶段,因此我们非常欢迎你提供反馈和意见。 我们很高兴能让你以更少的成本完成更多工作。