注:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于云环境的那些值。
使用 Oracle Blockchain Platform 开发区块链应用
简介
区块链技术正在改变企业和组织的运营方式,它已经进入了一个新的应用时代,可以带来前所未有的透明度、安全和权力下放。
Oracle Blockchain Platform 提供了一个预组装的平台,可用于构建和运行智能合同以及维护防篡改的分布式账本。借助 Oracle Blockchain Platform,您可以完成一些简单的实例创建步骤,然后 Oracle 负责服务管理、打补丁、备份和还原以及其他服务生命周期任务。
目标
为帮助您开始使用 Oracle Blockchain Platform 开发区块链应用,本教程简要概述了所涉及的主要概念和步骤。
先决条件
-
对区块链技术和 Oracle Cloud 的基本了解。
-
考虑是否需要区块链:
全面研究您的用例。数据库或任何其他技术是否能够提供相同的解决方案?区块链不仅仅是一个简单的数据库,而且能够实现业务转型。如果您不希望依赖第三方,或者由于脱机对账流程中固有的延迟,请考虑区块链。区块链还可用于跟踪产品的整个生命周期。此外,值得注意的是,区块链需要所有相关方和联系点的参与。在此步骤之后,您应该能够回答“区块链为什么?”。有关详细信息,请参阅为何应当使用区块链
-
定义用例
第一步是为区块链应用定义用例。这包括确定要解决的问题以及如何使用区块链技术解决问题。定义用例时,考虑目标受众及其需求也很重要。
-
决定区块链平台
公共区块链平台允许任何人在区块链网络上加入、读取和写入数据。大多数类型的加密货币都在由规则或共识算法控制的公共区块链上运行。相反,许可型区块链让组织可以控制谁可以访问区块链数据。只有被授予权限的用户才能访问特定数据集。根据您的用例,您需要决定区块链平台的类型。
Oracle Blockchain Platform 基于 Linux Foundation 开发的许可超级账本架构项目。Oracle Blockchain Platform 包括支持区块链网络所需的所有依赖项:计算、存储、容器、身份服务、事件服务和管理服务。Oracle Blockchain Platform 还包括用于支持集成操作的区块链网络控制台。
任务 1:创建 Oracle Blockchain Platform 实例
-
登录到 OCI 控制台。
-
选择您有权在其中创建实例的区间。
-
提供实例的显示名称,选择平台角色、版本和所需版本。
-
单击创建。
-
对于参与区块链网络的每个成员组织,创建一个 Oracle Blockchain Platform 实例。有关详细信息,请参阅创建 OBP 实例。
在此步骤结束时,您将准备好运行区块链应用的所有基础设施。
任务 2:设置开发环境
区块链应用程序构建器支持从命令行界面或作为 Visual Studio Code 的扩展的完整开发生命周期。适用于 Oracle Blockchain Platform 的区块链应用程序构建器是一套工具,可帮助在 Oracle Blockchain Platform 上快速开发、测试和部署链代码。您可以从 Oracle Blockchain Platform 控制台中的示例选项卡下载应用程序构建器的 Visual Studio Code 扩展。
有关详细信息,请参阅安装应用程序构建器。
任务 3:为区块链应用创建数据模型
-
根据识别的使用案例,决定将存储在区块链上的参数。
-
为了简单起见,让我们考虑一个区块链应用程序示例,用于转移大理石瓷砖的所有权。在这种情况下,需要大理石的颜色、大小、所有者和 ID 等大理石详细信息来编写区块链代码,称为链代码。
-
要创建数据模型,请仅考虑对象元数据。区块链数据模型不需要非事务处理数据,例如图片、PDF 等。这称为离链数据。
-
确定您的链上和链外数据,并决定用于链外数据的存储。
任务 4。使用数据模型创建规范文件
-
使用在任务 3 中创建的数据模型,在
yaml
或json
中编写简单的规范文件。有关详细信息,请参阅创建规范文件。 -
在此规范文件中,您可以指定多个资产定义和行为、参数验证以及 CRUD 和非 CRUD 方法声明。
-
可以在下载的区块链应用程序构建器程序包中找到两种格式(
yaml
和json
)的示例规范文件。
任务 5。生成链代码文件
-
Oracle Blockchain 应用程序构建器从规范文件获取输入,并生成功能完备的基架链代码项目。
-
使用 Typescript 或 Go Lang 中的 Oracle Blockchain App Builder 生成链代码,并向其添加任何必需的自定义功能。有关更多信息,请参阅生成链代码。
现在,您已准备好在 Oracle Blockchain Platform 上部署链代码。
任务 6。部署并测试链代码
-
部署链代码包括审批和提交链代码定义。
-
使用区块链应用程序构建器将链代码部署到 Oracle Blockchain Platform 上。
-
在应用程序构建器的“环境”部分中添加您的 Oracle Blockchain Platform 实例详细信息,然后部署链代码。有关详细信息,请参阅部署链代码。
-
还可以打包链代码项目并将其手动部署到 Oracle Blockchain Platform。使用 VS 代码部署链代码。
-
部署链代码后,下一步是测试部署的链代码。在测试过程中,您可以调用事务处理或查询链代码。区块链应用程序构建器可用于执行调用和查询,还可以用于多用户测试。有关详细信息,请参阅测试链代码。
任务 7:使用 SDK 和 REST API 开发应用
- Oracle Blockchain Platform 使用超级账本架构作为其基础。
- 使用超级账本架构文档可帮助您编写应用。有关详细信息,请参阅超级账本架构文档。
- 安装并使用超级账本架构 SDK 开发适用于 Oracle Blockchain Platform 的应用。有关更多信息,请参见 Use Fabric SDKs 。
- Oracle Blockchain Platform 提供的 REST API 已创建,需要高度的灵活性;您可以调用事务处理、调用查询或查看事务处理的状态。有关详细信息,请参阅使用 REST API 。
提示:在编写自己的应用程序之前,请阅读主要概念和教程部分。
相关链接
确认
- Authors - Bhupendra Raghuwanshi(高级云工程师),Deepika Nayak(员工云工程师)
更多学习资源
探索 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 频道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Develop a Blockchain application using Oracle Blockchain Platform
F78393-01
February 2023
Copyright © 2023, Oracle and/or its affiliates.