Hyperledger Fabric

Fabric区块链基于Prometheus和StatsD的运维监控

梦想的初衷 提交于 2019-12-27 19:16:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Hyperledger Fabric是强调运维的区块链,Fabric自1.4版本开始就包含了用于peer和orderer节点运维的特性。本教程将介绍如何配置Fabric网络节点的运维管理服务,以及如何使用Prometheus和statsD/Graphite来可视化监控Hyperledger Fabric网络中各节点的实时运行指标。 相关教程: Fabric区块链Java开发详解 | Fabric区块链Node.JS开发详解 1、配置Hyperledger Fabric节点的运维服务 Hyperledger Fabric 1.4提供了如下的特性用于peer和orderer节点的运维服务API: 日志等级管理:/logspec 节点健康检查:/healthz 运行监控指标:/metrics 配置Fabric区块链节点的运维服务虽然不是尖端的火箭科技,但是如果你漏掉了某些细节也会觉得不那么容易。 首先修改core.yaml来配置peer节点的运维服务,主要包括监听地址的配置和TLS的配置(我们先暂时禁用这部分)。 用编辑器打开core.yaml: $ vi ~/fabric-samples/config/core.yaml 下图显示了peer节点的运维服务监听地址 listenAddress 的默认值:

Java Chaincode学习交易系统中Hyperledger Fabric帐户钱包模型

邮差的信 提交于 2019-12-20 16:31:27
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 这是Hyperledger Fabric Java Chaincode的教程。还有Go和NodeJS Chaincodes,我们将来可能会讨论它们。此外,我采用基于帐户的钱包模型作为示例,我们将使用Hyperledger Fabric构建你的第一个网络(BYFN,build your first network),作为我们的测试环境(v1.4网络)。 如果你不知道如何启动 BYFN 网络,我也会提供步骤,不用担心。但是如果你想了解 BYFN 是如何工作的,你可以参考: 1. Hyperledger Fabric官方 BYFN 教程 2. 我之前关于 BYFN 的文章 基于帐户的钱包模型 基于帐户的钱包模型是交易系统的实现之一,一般而言系统中存在一些钱包,并且每个钱包包含可用于转账的一些值或代币。当然,实现的细节有很多变化,例如代币交换和多代币功能。 特征 在Java Chaincode中,我们将实现: 1.用户钱包创建。 2.用户钱包查询。 3.钱包代币转账(即从一个钱包发送钱或代币到另一个钱包)。 [可选] Hyperledger Fabric中有两个数据库选项用于保存超级账本的 world state :LevelDB和CouchDB,在本教程中,为了简单起见,我将使用LevelDB。 [可选]在上面,

学华为云微认证 搭上“区块链”的快车

荒凉一梦 提交于 2019-12-12 15:55:04
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 学华为云微认证 搭上“区块链”的快车 随着比特币的产生,区块链成为近两年热点话题,一时之间刷爆了朋友圈。什么是区块链?它有哪些优势?我们该如何应用它?华为云微认证《区块链部署弹珠游戏模拟资产变化》为您揭秘区块链的相关技术,并通过模拟资产变化提升你使用区块链服务的能力。 区块链服务实现业务快速上链 什么是区块链?从学术角度来解释,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,本质上是一个去中心化的数据库。听起来好像很高深,举个简单的例子你很快就明白了:假如家里有个账本,以前,家里所有钱交给爸爸,让爸爸记账,爸爸想抽烟,可能账本上的记录会少几十块。用区块链解决问题的方法是:用全家总动员的方式记账,全家所有人都记账,因为大家都能看到总账,谁都不能修改,这样爸爸想偷偷买烟,妈妈想偷偷买化妆品都会被发现。 但对于企业而言,开发搭建一套区块链系统并非易事。区块链人才的缺乏,复杂的底层技术,耗时的开发和繁杂的运维,让企业无法聚焦上层业务的开发与创新。而华为云区块链服务(Blockchain Service,简称BCS)是基于 Hyperledger Fabric 面向企业及开发者的区块链技术平台服务,它可以帮助我们在华为云上快速部署、管理、维护区块链网络,降低使用区块链的门槛

超级账本Fabric如何利用Gossip实现区块的广播

一笑奈何 提交于 2019-12-12 12:48:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Hyperledger Fabric是一个分布式区块链网络,每个节点都存有共享账本的一个副本,该副本保存了所有交易的确定性历史记录。当新的交易发生时,这些交易必须扩散到整个Hyperledger Fabric网络中,以便使账本的所有副本保持一致。本文将介绍Gossip协议机制的原理并说明Hyperledger Fabric如何使用Gossip机制来保证所有peer节点的数据同步。 Hyperledger Fabric相关开发教程: Java链码与应用开发详解 Node.js链码与应用开发详解 从大的层面讲,在Hyperledger Fabric中整个交易处理流程如下: 新交易被提交给排序节点 排序节点创建新的区块,其中包含了新产生的交易 排序节点分发区块给所有的对等节点 最后一步,分发,就是gossip协议发挥作用的环节。即使在一个仅包含少量成员机构的Hyperledger Fabric网络中,也可能会包含大量的对等节点。例如,一个重度使用IoT设备的Hyperledger Fabric网络可能就需要很多Peer节点来将这些IoT设备接入区块链网络。更进一步讲,大范围网络中的peer节点连接可能是间歇性的,有些peer节点不是总会被排序节点访问到。另外也没必要要求排序节点将新区块 分发给每个peer节点

区块链论文参考【三】

人盡茶涼 提交于 2019-12-12 12:47:46
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 区块链作为一种崭新的、颠覆性的技术,是国内外活跃的研究领域和毕业设计选题方向。本文列出最新的一组区块链方面的论文,希望可以对选择区块链毕业设计的同学们有所帮助,这是汇智网编辑整理的区块链毕业设计论文系列中的第三篇。 1、Hyperledger Fabric账本数据查询平台 区块链是最流行的分布式账本技术之一,它可以解决企业间的信任问题。Hyperledger Fabric是一个面向企业应用的许可制区块链,但是,与传统的分布式数据库解决方案相比,基于区块链的应用开发的一个问题在于其有限的数据访问能力。对于Fabric而言,只能利用Fabric SDK或链码提供的有限接口来访问账本数据。为了满足数据查询需求并为基于Hyperledger Fabric开发的实际应用提供灵活的查询功能,本论文提出了账本数据查询平台这一概念并将其命名为Ledgerdata Refiner。基于这一账本数据分析中间件,我们为用户获取区块或交易数据提供了充足有效的访问接口。 Ledgerdata Refiner中间件也可以用来跟踪任何状态的历史操作。另外,中间件对 账本状态数据结构进行了分析和聚类处理,从而让用户能够针对账本数据进行丰富的查询。最后,我们在真实应用中验证了本论文提出的查询平台的有效性。 论文PDF下载: Ledgerdata

Hyperledger Fabric的容灾备份及恢复方法简介

拜拜、爱过 提交于 2019-12-09 14:26:55
Hyperledger Fabric日益增强的潜力使得许多企业正在尝试使用fabric。当使用涉及更多peers和orderers的大型网络时,维护超级账本数据的备份非常重要。如果网络出现故障,这将有所帮助。它还有助于开发阶段,因为可以使用备份数据来执行将来的测试。 在本文中,我将介绍如何进行备份以及如何在Hyperledger Fabric中使用备份。 超级账本分类帐数据在容器中的位置 通常,peer中的分类帐数据存储在 /var/hyperledger/production/location 中。在orderer中,它位于 /var/hyperledger/production/orderer 中。我们需要备份这些文件夹。 采取备份的步骤 第1步: 要进行备份,必须创建空间来存储数据。当网络在Docker容器内运行时,我们将使用卷来实现这一点。我将使用一个基本网络与一个peer,一个orderer,一个ca和一个CouchDB。由于我们有一个peer和一个orderer,我们需要创建两个卷,比如 backup_orderer 和 backup_peer 。我们需要在 docker-compose.yml 文件中将这些指定为卷,如下所示。 networks: basic: volumes: backup_peer: backup_orderer: 这将在启动网络时创建两个卷。

超级账本Fabric C# 链码开发教程

拥有回忆 提交于 2019-12-09 12:17:47
本教程介绍如何使用.NET Core开发一个简单的Hyperledger Fabric链码,用于进行基本的资产管理和转账操作。如果你是一个熟练的.NET/C#开发人员,由于种种原因需要使用Hyperledger Fabric作为区块链平台,那么除了转身投入Java/Node.js/Go的怀抱之外,这也提供了另外一种选择。 相关教程推荐: .NET / C# 以太坊开发详解 .NET / C# 比特币开发详解 1、Fabric链码.NET Core开发包 首先创建一个.NET Core项目,在命令行执行如下命令添加对Fabric链码.NET Core开发包的依赖: dotnet add package Thinktecture.HyperledgerFabric.Chaincode \ --version 1.0.0-prerelease.74 Thinktecture.HyperledgerFabric.Chaincode 链码开发包提供了两种不同的方法来开发Hyperledger Fabric链码。 使用底层API:通过实现IChaincode接口来开发超级账本Fabric链码是一种比较底层的途径, 好处是对链码实现的掌控程度最大 使用上层API:通过继承ContractBase类来开发超级账本Fabric链码会更容易一些,但 代价就是丧失部分灵活性 在这个教程中

Fabtoken

本秂侑毒 提交于 2019-12-09 12:06:40
Hyperledger Fabric 2.0 (alpha)中有一个新特性:Fabtoken,可以原生支持数字加密货币的发行与管理。我们都知道以太坊的ERC20标准可以用来在以太坊区块链上创建数字加密代币,现在有了Fabtoken,开发者使用Hyperledger Fabric也可以轻松实现数字加密货币的发行、转账等功能了! Hyperledger Fabric链码与应用开发相关教程: Hyperledger Fabric Java开发详解 Hyperledger Fabric Node.js开发详解 1、安装Hyperledger Fabric 2.0 首先我们需要先安装Fabtoken的基础平台:Hyperledger Fabric 2.0。使用如下命令下载并进行安装: curl -sSL http://bit.ly/2ysbOFE | bash -s — 2.0.0-alpha 2.0.0-alpha 0.4.15 注意,为了避免潜在的冲突,如果你之前安装过其他版本的HyperledgerFabric,请先卸载。 2、Fabtoken的核心功能 Fabtoken的核心功能如下: 创建新的加密货币 数字加密货币转账 查询转账交易 赎回数字加密货币 在大多数情况下,前三个功能就足够了。 3、Fabtoken小试 一旦Fabric 2.0安装完毕,你可以使用 docker

Hyperledger Fabric 1.4 Kafka集群部署教程

南楼画角 提交于 2019-12-09 11:53:16
Hyperledger Fabric区块链网络搭建已繁琐著称。本教程将介绍如何部署一个分布在4个主机上包含多个排序节点和对等节点的hyperledger fabric区块链集群网络,同时提供源码和配置文件下载。 相关教程推荐: Hyperledger Fabric Java开发详解 Hyperledger Fabric Node.js开发详解 1、服务结构 我们要搭建的Hyperledger Fabric网络拓扑结构如下: 网络包含如下服务: 1个机构:org1.example.com 3个对等节点:peer0.example.com、peer1.example.com、peer2.example.com 1个CA节点:ca.example.com 3个排序节点:order0.example.com、order1.example.com、order2.example.com 3个zookeeper节点:zookeeper0、zookeeper1、zookeeper2 4个kafka节点:kafka0、kafka1、kafka2、kafka3 2、部署服务 2.1 部署ca、orderer和kafka 如上图所示,首先在server1上部署CA节点、排序节点、kafka节点和zookeeper节点,使用的docker-compose文件文件为 docker-compose-kafka

超级账本Fabric C# 链码开发教程

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-08 18:05:31
本教程介绍如何使用.NET Core开发一个简单的Hyperledger Fabric链码,用于进行基本的资产管理和转账操作。如果你是一个熟练的.NET/C#开发人员,由于种种原因需要使用Hyperledger Fabric作为区块链平台,那么除了转身投入Java/Node.js/Go的怀抱之外,这也提供了另外一种选择。 相关教程推荐: .NET / C# 以太坊开发详解 .NET / C# 比特币开发详解 1、Fabric链码.NET Core开发包 首先创建一个.NET Core项目,在命令行执行如下命令添加对Fabric链码.NET Core开发包的依赖: dotnet add package Thinktecture.HyperledgerFabric.Chaincode \ --version 1.0.0-prerelease.74 Thinktecture.HyperledgerFabric.Chaincode 链码开发包提供了两种不同的方法来开发Hyperledger Fabric链码。 使用底层API:通过实现IChaincode接口来开发超级账本Fabric链码是一种比较底层的途径, 好处是对链码实现的掌控程度最大 使用上层API:通过继承ContractBase类来开发超级账本Fabric链码会更容易一些,但 代价就是丧失部分灵活性 在这个教程中