fabric 1.4.4新特性 release note

本文翻译自fabric官方文档What’s New in Hyperledger Fabric v1.4.4

Fabric1.4.4 于2019年11月14日发布。

一、新特性

此版本中包含以下增强功能:

FAB-16715,FAB-16544:排序节点端点重载

排序网络的地址或者TLS根证书的更改,将导致新节点加入通道时出现问题,
因为通道创世区块将包含过期的排序节点信息。排序节点重载的新配置选项允许管理员配置节点将旧的排序节点地址和证书转换为新的排序节点地址和证书池。

FAB-17000:通知用户证书即将过期

现在,节点和排序节点将会在日志中记录一条注册证书或TLS证书的一周之n内将会过期的警告信息。

示例日志条目:

[certmonitor] trackCertExpiration -> WARN 011 The server TLS certificate expires within one week
[certmonitor] trackCertExpiration -> WARN 011 The enrollment certificate expires within 2 days and 5 hours

FAB-15814:增加了操作终结点以公开节点/排序节点版本

增加了一个版本端点给操作服务,内容包含节点/排序节点版本号和CommitSHA的metadata。

FAB-16852 升级到(Bump to) Go v1.12.12和baseimage 0.4.18
FABB-128 讲0.4.18 baseimage 中的node.js升级到8.16.1,npm升级到6.11.3

二、修正

FAB-13552:在通道中重新添加已删除的OSN

在修复之前,如Raft排序节点是从通道配置中的共识集合中删除,则不会检查是否已加会来了并需要重新启动。

FAB-15026:节点链码安装中的代码段违规(Segmentation violation)

在修复之前,tar处理在链码包安装过程中,当使用某些版本的libc来查询用户信息时,可能会触发大的问题(a panic)。对libc的调用不再进行。

FAB-15389:背书节点在进行私有数据分发时不再受maxPeerCount限制。

修复前,如果节点选择为私有数据做分发,存在可能性背书次数被记两次,从而超过maxPeerCount,导致私有数据传播到比预期数量少的节点。

FAB-15666:NetworkMode的链码图像生成不能使用

修复前,节点的配置的docker NetworkMode在生成链码图像时无法正常使用(not get passed)。

FAB-16571:修复节点链码包命令中的重大错误

修复前,节点链码包命令在遍历链码位置时,可能会导致重大错误(panic)。

FAB-16610:链码崩溃时将区块提交到账本时会挂起

修复前,如果链码在调用期间异常终止时,锁(a lock)将阻止区块提交,直到执行超时(core.chaincode.executetimeout属性)被触发。本修复可确保退出后立即释放锁定。

FAB-16643:在对已删除的私人数据进行核对时出现Nil指针异常

修复前,如果节点试图核对丢失中的私有数据,并且此私有数据密钥已被 删除后,节点将产生空(nil)指针异常重大错误。

FAB-16651:修复证书更新后的连接泄漏(connection leak)

修复之前,节点改变了注册证书而没有改变终端(endpoint),会导致连接随时间而不断泄漏(译者注:不能正常回收无用连接)。

FAB-16695:独立的侦听器(Separate listeners)会导致重大错误(panic)

在修复之前,为节点管理服务配置或者订购者群集服务配置独立的侦听器,如果启用了Prometheus指标,将在启动时导致重大错误。

FAB-16948:使用Idemix时CID GetID()中的空指针异常

当从Idemix身份对链码请求进行调用时,GetID现在返回错误。

三、变更,已知问题和解决方法

FAB-12134:同一链码源收到指纹不匹配错误

以不同方式安装的链码可能会导致在安装中出现“ 链码指纹不匹配,数据不匹配”错误(“chaincode fingerprint mismatch data mismatch”)。
本问题主要发生在使用不同的SDK安装链码时。要解决此问题,
在安装和实例化之前打包链代码时,使用“peer chaincode package”命令,

四、已知漏洞

FAB-8664:当其组织被删除时,节点应该检测并做出反应

这是一个相对严重性较低的问题,因为它需要网络管理员的主动攻击,但将在以后的版本中解决。

五、已解决的漏洞

没有。

六、弃用

不推荐使用以下功能,并且打算在将来的版本中删除这些功能。
(翻译待续)

Support for automatically vendoring the chaincode shim into user chaincodes.
The fabric-ccenv image which is used to build chaincode, currently includes
the github.com/hyperledger/fabric/core/chaincode/shim (“shim”) package.
This is convenient, as it provides the ability to package chaincode
without the need to include the “shim”. However, this may cause issues in future
releases (and/or when trying to use packages which are included by the “shim”).
In order to avoid any issues, users are advised to manually vendor the “shim”
package with their chaincode prior to using the peer CLI for packaging and/or
for installing chaincode.
For more details see FAB-5177.

Support for CAR chaincode package format
Support for packaging chaincode using the CAR format will be removed in
a future release.
For more details see FAB-14720.

Support for specifying orderer endpoints at the global level in channel configuration.
Utilize the new ‘OrdererEndpoints’ stanza within the channel configuration of
an organization instead.
For more details see FAB-7559.

Support for invoking system chaincodes from user chaincodes.
System chaincodes, for example QSCC, are intended to be invoked by
a client rather than by a user chaincode. Invoking from a user chaincode
may cause deadlocks.
For more details see FAB-15285.

Support for user chaincodes to utilize the chaincode shim’s logger via NewLogger().
Chaincodes that used the shim’s NewLogger() will need to shift to their own preferred
logging mechanism.
For more details see FAB-15366.

Support for peer’s Admin service.
The peer’s Admin service exposes APIs such as GetLogSpec() and SetLogSpec().
Instead of using these services, utilize the HTTP operations service that was
introduced in v1.4.0.
For more details see FAB-15390.

Support for Solo ordering service.
With the introduction of Raft-based ordering service in v1.4.1, it is possible
to deploy a single-node (non-production) or multi-node
Raft-based ordering service with no external dependencies.
For single-node (non-production) ordering services, utilize Raft-based ordering
service with a single node instead of Solo ordering service.
For more details see FAB-15754.


官方参考:https://github.com/hyperledger/fabric/releases/tag/v1.4.4

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要安装Hyperledger Fabric v1.4.4,您可以按照以下步骤操作: 1. 安装必要的软件:您需要在计算机上安装以下软件:Docker,Docker Compose,Go语言环境,Node.js和npm包管理器。 2. 克隆Hyperledger Fabric源代码:使用git工具,您可以克隆Hyperledger Fabric源代码到您的计算机上。使用以下命令: ``` git clone -b v1.4.4 https://github.com/hyperledger/fabric.git ``` 3. 下载所需的Docker镜像:使用以下命令下载所需的Docker镜像: ``` cd fabric curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/v1.4.4/scripts/bootstrap.sh | bash -s -- 1.4.4 ``` 4. 启动Fabric网络:使用以下命令启动Fabric网络: ``` cd fabric-samples/first-network ./byfn.sh generate ./byfn.sh up ``` 这将启动一个由两个组织和四个对等节点组成的Fabric网络。 5. 安装Fabric CLI:使用以下命令安装Fabric CLI: ``` npm install -g fabric-cli ``` 6. 测试Fabric网络:使用以下命令测试Fabric网络: ``` fabric-cli chaincode invoke -o orderer.example.com:7050 -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}' ``` 这将在Fabric网络上调用名为“mycc”的智能合约,并将“a”账户中的10个单位的货币转移到“b”账户中。 这些步骤将帮助您在您的计算机上安装Hyperledger Fabric v1.4.4并运行一个简单的Fabric网络。 ### 回答2: 安装Hyperledger Fabric v1.4.4 可以按照以下步骤进行: 1. 首先,确保你已经安装了Docker和Docker Compose。如果没有安装,你可以在官方网站上找到安装教程并按照步骤安装。 2. 进入Hyperledger Fabric官方Github仓库(https://github.com/hyperledger/fabric)并下载Fabric v1.4.4 的发布包。你可以选择下载源码或者已构建好的二进制文件。 3. 解压下载的文件并进入解压后的目录。 4. 打开终端并使用以下命令运行Fabric的二进制文件进行安装: ``` ./scripts/bootstrap.sh ``` 此命令会下载必需的镜像文件、二进制文件和示例代码。 5. 安装完成后,我们可以启动一个示例网络以验证安装成功。使用以下命令启动示例网络: ``` cd fabric-samples/first-network ./byfn.sh generate ./byfn.sh up ``` 这将在本地计算机上启动一个简单的Fabric网络并运行示例链码。 6. 在运行脚本之后,你可以使用以下命令关闭网络: ``` ./byfn.sh down ``` 以上是安装Hyperledger Fabric v1.4.4 的基本步骤。你可以通过阅读官方文档和使用其他资源来深入了解和使用Hyperledger Fabric。 ### 回答3: 要安装Hyperledger Fabric v1.4.4,您可以按照以下步骤进行操作: 1. 首先,确保您的计算机系统满足Hyperledger Fabric的硬件和软件要求。您需要一台运行Linux操作系统的计算机,并安装Docker和Docker Compose。 2. 下载Hyperledger Fabric的二进制文件。您可以从Hyperledger Fabric的官方网站下载适用于Linux的二进制文件。解压缩下载的文件并将其放在您希望安装的位置。 3. 配置Docker和Docker Compose。确保您具有适当的Docker权限,并安装和配置Docker Compose,以便能够运行多个Docker容器。 4. 设置Hyperledger Fabric网络。在您的计算机上创建一个目录,并将其作为Fabric网络的根目录。在此目录中,创建一个配置文件,其中包括网络的拓扑结构、组织、通道和节点等信息。您可以使用Hyperledger Fabric提供的示例配置文件作为参考。 5. 生成加密材料和初始区块。使用Fabric提供的工具生成加密材料,包括证书、私钥和MSP(Membership Service Provider)文件。然后,使用生成的材料创建初始区块。 6. 启动Hyperledger Fabric网络。使用Docker Compose命令在您的计算机上启动Fabric网络。这将根据您在配置文件中定义的拓扑结构创建和运行相应的Docker容器。 7. 部署智能合约。使用Fabric提供的工具,将您的智能合约部署到Fabric网络中的适当通道上。这将包括安装链码、实例化链码和建立合约的版本。 8. 运行和测试Fabric网络。一旦部署了智能合约,您可以使用Fabric提供的SDK或CLI工具与网络进行交互。通过执行交易和查询等操作,测试网络的功能和性能。 以上是安装Hyperledger Fabric v1.4.4的基本步骤。根据您的实际需求,可能还需要进行其他配置和操作。您可以参考Hyperledger Fabric的官方文档和社区资源,以获取更详细的安装说明和教程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值