构建去中心化应用的葵花宝典:Forge 框架和 Forge SDK
2019-05-25
作者: 舒适(ArcBlock 数据工程师)、Matt McKinney(ArcBlock 市场商务总监)
Forge SDK 是一套专门为开发者设计的开发组件,是 Forge 框架中不可或缺的一部分。开发者可以通过 Forge SDK 轻松构建区块链和去中心化应用(DApps)。
ArcBlock 的服务平台包括:
以及现在打造的 Forge 框架和 SDK,这些都是为了解决当今区块链开发的问题而构建的易扩展、高性能、易用以及准产品化的工具。
为创建最符合开发者使用习惯的 Forge SDK,我们研究了前几代区块链产品,包括 Hyperledger、比特币和以太坊,为当今区块链开发遭遇的平台瓶颈、开发者在开发特定 DAPP 时遇到的问题找到了解决之道。从前人的经验总结中,我们创造了一个青出于蓝而胜于蓝的 Forge 框架。
正如 Ruby on Rails 之于 Web 应用程序,我们相信 Forge 框架也将为区块链开发打开新大门。Forge 易于使用,为开发者提供了构建区块链和 DAPP 所需的一切条件,并且随着合作伙伴和工具迅速扩展, Forge 的生态系统将日益强大。
使用 Forge,开发这从以下几方面可立即获益:
- 对比特币和以太坊等异构链的集成支持
- 对 gRPC 和 GraphQL 的支持
- 链上治理
- 自动更新
- 广泛的语言支持,包括 javascript、python、erlang、swift、objective-c、iOS 和 Android
- 无限可扩展网络
- 用 Forge SDK 构建的任何 DApp 或服务都与 ABT 链网原生兼容。
- 内置的去中心化身份
Forge SDK 是由一群经验丰富的区块链开发先行者,总结自己踩过的坑,将心比心为更广大的开发者设计的。大家也许对“什么是最好的语言”各持己见,但都有一个共同的目标:简化区块链开发的过程,让开发者可以专注于应用开发而不用担心底层区块链基础建设。
快速启动
要深层了解 Forge SDK 的工作原理,请转到 启动 。
现在你离开启 Forge 只有两步之遥:
- 首先,使用Forge CLI. 启动设备上的节点。此步骤启动一个完整的节点,在此节点之上可以构建应用逻辑。
- 然后,选择您熟悉的 SDK 。目前,Forge SDK 提供了 Javascript SDK, Python SDK和 Java SDK。更多语言的支持正在完善中。
完成了!现在,你有了一个正在运行的节点和一组可以使用的工具。现在,是时候创建一个钱包并发起一项交易迈出第一步了。
启动概念
尽管 Forge 已经很容易使用了,我们还是希望能进一步降低大家的学习成本。以下是我们挑选出来的关键概念,先理解这些概念对使用 Forge 能起到事半功倍的效果。
账户和钱包
要在刚启动的节点上发起一项交易,首先需要创建一个帐户。每个帐户都有一个唯一的地址来标识不同的用户,并且每个用户实际上可以拥有具有不同地址的无限数量的帐户。钱包是用户帐户凭证的容器,包括唯一地址、密钥(SK)和公钥(PK)。
交易
交易是可以在 Forge SDK 构建的链上发生的最小活动单位。在 ABT 链网上运行的所有活动都可以解释为不同交易的排列组合。
用“交易”来描述链上活动这件事,可以追溯到比特币。在中本聪最初的白皮书《比特币:一种点对点电子现金系统》中,交易是指通过对哈希值签名来转移货币,以便其他方能够验证该交易的真实性和有效性。
使用 Forge SDK,一项交易包含的信息比货币多得多。根据交易的类型,每项交易都具有不同的功能。
所有由活动组成的交易都需要由现有账户签署和发送。如果人们想在 Forge 上做点什么,他们必须经历发送交易的过程,这就是 Forge 框架如何保持各种活动痕迹的秘密。
了解有关 Forge 交易的更多信息
Forge 的关键技术
Forge 旨在让开发者工作更轻松,解决实际问题。Forge 有许多集成的特性和优点,其中最值得关注的两个关键技术是 gRPC 和 GraphQL。
可在此处了解有关 gRPC 和 graphQL 的更多信息
gRPC
gRPC(Google Remote Procedure Calls)是一个最初在 Google 开发的开源远程过程调用系统。它提供诸如身份验证、双向流和流控制、阻塞或非阻塞绑定以及取消和超时等功能。简单来说,这个系统允许您在不同的位置连接服务。
gRPC 一个重要的特性是允许客户端应用直接调用不同机器上的服务器应用的方法——这是去中心化应用程序开发的一个关键特性。此外,gRPC 还带来了其他有益于开发者的功能,与大多数区块链平台目前正在使用的传统 JSON RPC 调用相比,该系统更高效、更准确。
当然,这就引出了一个问题——如果 gRPC 这么好用,为什么其他平台很少使用呢?简而言之,因为构建 gRPC 通常需要一些额外的工作对数据编码和解码。好消息是,Forge SDK 实际上为您完成了所有这些工作。gRPC 是开发者的最佳选择,使用 Forge,您只需将参数传递给每个 GRPC 调用,即可享受 GRPC 的所有好处,而无需担心各种背后的麻烦——Forge SDK 已经帮你搞定。
GraphQL
gRPC 很适合构建后端服务,GraphQL 则是前端/移动访问的完美补充。如果您希望使用 Forge API 为移动或 Web 用户提供服务,那么 GraphQL 是满足您需求的优异解决方案。Forge 的所有组件都是可以自由组合替换的,允许开发者找到自己最得心应手的方式。
尽管与 Facebook 被一同提起,但 GraphQL 是一种用于 API 的开放源代码数据查询和操作语言,也是一种使用现有数据完成查询的运行时。它通过允许客户定义所需数据的结构,并从服务器返回完全相同的数据结构,为开发 Web API 提供了一种高效、强大和灵活的方法。
因此不会像 Restful,一次查询返回过多的数据。从客户端的角度来看,GraphQL API 更加强大和安全。
要在 Forge 上启动您下一个区块链项目,只需安装 Forge 即可。
我们期待您的精彩应用。