Hyperledger Fabric REST API服务器与NodeJS客户端搭建指南

需积分: 10 0 下载量 6 浏览量 更新于2024-12-20 收藏 6.42MB ZIP 举报
资源摘要信息:"Hyperledger Fabric是一个开源的企业级分布式账本平台,旨在支持不同行业和用例的区块链网络。Hyperledger Fabric通过其模块化架构,提供了一个可插拔的组件系统,允许各种行业根据需求定制解决方案。Hyperledger Fabric拥有强大的成员管理能力,支持通道(channels),这是一种将网络分隔为不同分区的方式,允许在一个更大的网络内进行更小的团体间的安全交流。 fabric-starter-rest是一个基于Node.js的应用程序,它使用Hyperledger Fabric提供的Node.js SDK来构建一个REST API服务器和客户端,使得开发者可以更加容易地通过RESTful接口与Hyperledger Fabric网络进行交互。这种设计允许开发者在开发和部署区块链应用时,不必深入了解底层的网络通信细节。 根据提供的文件信息,下面详细梳理了与fabric-starter-rest相关的知识点: 1. Hyperledger Fabric基础:Hyperledger Fabric是一个面向企业用例的开源分布式账本平台,它允许在多个机构之间进行交易和数据共享,同时提供强大的隐私和权限管理。Hyperledger Fabric通过使用交易通道和共识机制,使得网络在保持开放性的同时也能维护成员之间的隔离和安全。 2. Node.js SDK:Node.js SDK为开发者提供了与Hyperledger Fabric进行交互的API,这使得开发者可以使用Node.js编写应用程序来管理通道、链码(智能合约)、交易等。这个SDK通常包含了用于创建和连接到网络、执行链码和查询账本等操作的工具和方法。 3. REST API服务器和客户端:REST API服务器提供了与Hyperledger Fabric交互的RESTful接口,允许开发者通过HTTP请求与区块链网络进行交互。而NodeJS客户端则是利用Node.js编写的应用程序,它通过调用REST API服务器来与Hyperledger Fabric进行通信。 4. 开发环境设置:文档中提到的环境变量设置(如ORG和DOMAIN)是设置开发环境的一部分,它们定义了区块链网络中的组织和域的名称。这样的设置允许开发人员使用本地机器而非容器化环境来进行开发和测试。 5. 使用docker-compose启动网络:文档中提到使用docker-compose命令启动Hyperledger Fabric的订购服务和对等节点。docker-compose是一个用于定义和运行多容器Docker应用程序的工具,它允许开发人员快速启动和停止一个分布式应用程序。文件中提及的docker-compose文件(docker-compose-orderer.yaml和orderer-ports.yaml)定义了如何部署和配置Hyperledger Fabric网络的组件。 6. 运行测试:文档指出了如何在本地运行测试用例,使用npm test命令。测试是确保区块链应用程序和其使用的API正常工作的关键步骤,它可以帮助开发者验证他们的应用逻辑是否符合预期。 7. 使用nodemon进行开发:nodemon是一个开发工具,它可以监控文件变化并自动重启服务器。在开发REST服务器时,使用nodemon可以提高开发效率,因为它避免了手动重启服务器的需要,使得开发者在更改代码后能够快速看到效果。 8. 运行REST服务器:文档中提到npm sta命令用于运行REST服务器,这可能是启动REST API服务器的步骤。这个步骤对于使应用程序的REST接口对外可用至关重要。 总而言之,fabric-starter-rest为使用Node.js与Hyperledger Fabric网络进行交互提供了一种简便的途径。通过理解上述提到的关键概念,开发者可以更容易地开始构建和测试他们的区块链应用程序,利用Hyperledger Fabric提供的强大功能,为各种不同的业务场景提供安全可靠的区块链解决方案。"

[2023-05-31 11:07:02] Started by user coding [2023-05-31 11:07:02] Running in Durability level: MAX_SURVIVABILITY [2023-05-31 11:07:04] [Pipeline] Start of Pipeline [2023-05-31 11:07:06] [Pipeline] getContext [2023-05-31 11:07:07] [Pipeline] node [2023-05-31 11:07:07] Running on Jenkins in /root/codingci/tools/jenkins_home/workspace/2553946-cci-31810232-464995 [2023-05-31 11:07:07] [Pipeline] { [2023-05-31 11:07:08] [Pipeline] withEnv [2023-05-31 11:07:08] [Pipeline] { [2023-05-31 11:07:08] [Pipeline] withDockerRegistry [2023-05-31 11:07:08] [Pipeline] { [2023-05-31 11:07:08] [Pipeline] isUnix [2023-05-31 11:07:08] [Pipeline] sh [2023-05-31 11:07:08] + docker inspect -f . public/docker/nodejs:18-2022 [2023-05-31 11:07:08] /root/codingci/tools/jenkins_home/workspace/2553946-cci-31810232-464995@tmp/durable-221f7a67/script.sh: 1: docker: not found [2023-05-31 11:07:08] [Pipeline] isUnix [2023-05-31 11:07:08] [Pipeline] sh [2023-05-31 11:07:09] + docker inspect -f . coding-public-docker.pkg.coding.net/public/docker/nodejs:18-2022 [2023-05-31 11:07:09] /root/codingci/tools/jenkins_home/workspace/2553946-cci-31810232-464995@tmp/durable-4892b310/script.sh: 1: docker: not found [2023-05-31 11:07:09] [Pipeline] isUnix [2023-05-31 11:07:09] [Pipeline] sh [2023-05-31 11:07:09] + docker pull coding-public-docker.pkg.coding.net/public/docker/nodejs:18-2022 [2023-05-31 11:07:09] /root/codingci/tools/jenkins_home/workspace/2553946-cci-31810232-464995@tmp/durable-0770ad1b/script.sh: 1: docker: not found [2023-05-31 11:07:09] [Pipeline] } [2023-05-31 11:07:09] [Pipeline] // withDockerRegistry [2023-05-31 11:07:09] [Pipeline] } [2023-05-31 11:07:09] [Pipeline] // withEnv [2023-05-31 11:07:09] [Pipeline] } [2023-05-31 11:07:09] [Pipeline] // node [2023-05-31 11:07:09] [Pipeline] End of Pipeline [2023-05-31 11:07:09] ERROR: script returned exit code 127 [2023-05-31 11:07:09] Finished: FAILURE

2023-06-01 上传