Hyperledger Fabric(五)------APP与网络交互

如果已经理解了BYFN那个样例,那么这个就很好理解了,这里的网络有五个容器:ca.example.comcouchdborderer.example.compeer0.org1.example.comcli

用node-SDK进行app与网络的交互。

目录

app端的逻辑部分在fabric-samples/fabcar

  • 初始情况下应有6个文件:enrollAdmin.js , invoke.js , package.json , query.js , registerUser.js, startFabric.sh
  • 在这个目录下执行npm install按住干node模块,会多出一个node_modules目录
  • 运行过程中会创建一个目录hfc-key-store用来存放证书和秘钥

网络部分在fabric-samples/basic-network

  • 这个目录下共有12个文件
  • start.sh启动网络,stop.sh关闭网络,generate.sh生成各种证书以及网络的配置信息
  • config目录下是网络的配置信息,crypto-config目录下是各种证书

这里有个坑,configcrypto-config目录下的文件一定不要动,如果你运行了generate.sh就会重新生成那两个目录下的文件,后面就会疯狂报错:
Failed to enroll admin :Calling enrollment endpoint failed with error [Error: connect ECONNREFUSED 127.0.0.1:7054]

ps:

  • diff -r dir1 dir2比较两个目录下文件的不同
  • 查看某一端口号的情况:netstat -ap | grep [port]或者lsof -i:[port]

UPDATE:上面报错的原因是docker-compose.yml中FABRIC_CA_SERVER_CA_KEYFILE=/etc/hyperledger/fabric-ca-server-config/4239aa0dcd76daeeb8ba0cda701851d14504d31aad1b2ddddbac6a57365e497c_sk这里指定了文CA的私钥,generate.sh之后重新生成了新的私钥这里叫做对应的修改。

启动网络

ps:清理环境的工作就不用说了吧,不会的去看一下Docker

fabric-samples/fabcar目录下,运行startFabric.sh脚本。

网络部分就不细说了,具体可以看上一篇博客,看懂了这里自己就可以看明白是怎么回事。

app与网络交互

CA启动的时候register了一个user叫admin,密码是adminpw,我们第一步要enroll这个user,之后admin负责registerenroll新的user。

  • Enrolling the Admin User

    node enrollAdmin.js

    发送certificate signing reques给CA,得到证书和私钥。

  • Register and Enroll user1

    node registerUser.js
    用这里注册的user1为后面的交易签名,注册生成的证书和admin的证书放在一起hfc-key-store

  • Querying the Ledger

    node query.js

  • Updating the Ledger

    node invoke.js

以上交互部分可以去看一下源码就明白了,修改源码以便更好的理解,具体可以参考官方文档

ps:可打开一个新的终端查看CA端的日志:docker logs -f ca.example.com
logs

### 回答1: hyperledger-fabric-linux-amd64-2.2.0.tar.gz 是一个开源的区块链平台Hyperledger Fabric的最新版本软件包,可以在Linux系统的AMD64处理器上运行。这个软件包包含了Hyperledger Fabric平台的所有核心组件和工具,如Peer、Ordering Service等,以及一些示例链码和应用程序。用户可以通过下载该软件包并按照相关文档进行安装和部署来使用Hyperledger Fabric平台搭建自己的区块链网络Hyperledger Fabric平台是一个开放且可扩展的企业级区块链解决方案,它提供了高度灵活的合约机制和身份管理机制,支持多个链码、多个共识算法等特性,能够满足广泛的区块链应用需求。同时,它还支持跨组织、跨区块链网络交互,并提供了完备的监管和审计机制,帮助企业构建安全、透明、高效的区块链应用。 总之,从技术角度来看,hyperledger-fabric-linux-amd64-2.2.0.tar.gz是一个具有广泛应用前景的区块链平台的软件包,对于希望构建企业级区块链应用的开发者和企业来说,具有重要的意义和价值。 ### 回答2: Hyperledger Fabric是一个开源区块链平台,该平台由Linux Foundation主导,集成了智能合约、无状态认证、加密等多种功能,可以用于开发分布式应用程序。Hyperledger Fabric的最新版本是2.2.0,其中hyperledger-fabric-linux-amd64-2.2.0.tar.gz是针对Linux操作系统平台的二进制文件,可以用于安装和运行Hyperledger Fabric。该文件包含了Hyperledger Fabric的所有组件和依赖项,包括peer节点、orderer节点、CA节点、CouchDB等。在安装过程中,只需要解压该文件,并根据文档中的指引进行配置和启动即可。该版本的Hyperledger Fabric增强了智能合约的安全性和可扩展性,提高了性能和稳定性,同时新增了对隐私保护和多租户支持等特性的支持,更好地适用于企业级区块链应用场景。使用Hyperledger Fabric可以构建高效、安全、可靠的分布式应用程序,是企业级区块链开发的首选平台之一。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值