随笔分类 - 区块链
摘要:在fabric开发中,chaincode的测试是一个令人比较头疼的问题,一是由于实际情况中chaincode中的存储和查询是依赖于peer节点上的状态数据库的,所以无法在本地直接测试;二是由于chaincode是运行于容器中的,这导致我们很难获取在代码中打印的日志。 如果直接在实际开发环境中测试ch
阅读全文
摘要:前面关于fabric部署的介绍都是基于单机环境下的,实际生产环境中一般会根据应用场景将节点分开部署在多台物理机上,面临的难题主要是不同主机间的节点如何通过网络进行通信。 前言 这里仍然以balance-transfer v1.0为例,尝试将两个组织分布到内网中的两台机器上,部署示意图如下: 这里使用
阅读全文
摘要:在fabric网络运行过程中动态追加新的组织是相当复杂的,网上的资料也十分匮乏,大多是基于first-network这样的简单示例,而且是使用启动cli容器的方法来增加组织,几乎没有针对实际应用的解决方案。本文介绍了如何在应用程序中调用SDK来进行组织的动态增加。 前言 首先需要介绍一个配置区块的概
阅读全文
摘要:fabric网络在创建时就已经确定了初始的节点数量,而在实际应用场景中可能会需要在某个组织中动态增加节点。这里以balance-transfer v1.0为例(2 Org,4 Peer),介绍如何在org1中加入第3个peer节点。 ##一、追加新节点的身份信息 首先需要在组织org1的MSP目录中
阅读全文
摘要:组织(Org)和通道(Channel)的名称是fabric网络比较重要的两个配置参数,在fabric提供的示例中都已经设置好了这两个参数,一般组织名为"Org1"和"Org2",通道名为"mychannel"。而在实际应用开发中通常需要自定义组织和通道的名称,这里以最接近实际应用的balance-t
阅读全文
摘要:balance transfer 提供了很多查询接口,包括链码查询,根据区块号查询区块数据,根据交易ID查询交易信息,查询链上的区块数,查询已安装或已实例化的链码,查询通道。 源码解析 1.调用链码查询:调用指定背书节点上部署的普通chaincode对状态数据库进行查询操作,该方法只会发送交易提案到
阅读全文
摘要:链码安装和实例化之后就可以调用chaincode执行交易,下面分析简单的账户转账操作是如何完成的。 源码分析 1.首先看app.js的路由函数 app.post('/channels/:channelName/chaincodes/:chaincodeName', async function(re
阅读全文
摘要:详细解析blance transfer示例的安装(install)和实例化(Instantiate)链码(chaincode)的过程。安装chaincode会根据本地的链码文件生成chaincode镜像,实例化chaincode则会启动该镜像,使链码在docker容器中运行。 安装chaincode
阅读全文
摘要:Fabric CA是Hyperledger Fbric的证书认证中心,提供以下功能:用户信息的登记与注册,数字证书的颁发与管理。 前言 之前使用CA服务一直是在docker容器中运行下载好的CA镜像,在应用程序中通过Node SDK中集成的接口来访问CA服务器,这次尝试手动部署CA服务; Fabri
阅读全文
摘要:Hyperledger fabric 1.0 基于 PKI(Public Key Infrastructure)体系,引入了MSP模块(Membership Service Provider): 成员管理服务提供商,生成数字证书来标识和管理成员的身份。 Fabirc的成员身份基于标准的X.509证书
阅读全文
摘要:详细解析blance transfer示例的创建通道(Channel)和加入节点到通道的过程。 创建Channel 1.首先看app.js的路由函数 var createChannel = require('./app/create-channel.js'); app.post('/channels
阅读全文
摘要:详细分析blance transfer示例的用户注册(register)与登录(enroll)功能。 源码分析 1.首先分析项目根目录的app.js文件中关于用户注册和登录的路由函数。注意这里的token很重要,在之后的请求中,只要在请求头中附上token,js的路由函数就能直接获取其中的参数:re
阅读全文
摘要:Blacne transfer是Hyperledger fabric Node SDK的一个示例应用,主要使用了SDK中fabric-client 和 fabric-ca-client 模块中的API,实现了与Fabric网络交互的各种操作。 先决条件 Docker - v1.12 or highe
阅读全文
摘要:Hyperledger Fabric 提供了多种语言的SDK版本,其中提出比较早、比较稳定而全面的是Node.js版本的SDK。 前面提到的fabric示例(如first-network和e2e-cli)都只是在单机上的简单测试,启动一个cli命令行容器来与网络成员节点进行交互,通过在cli容器中手
阅读全文
摘要:在win10系统的台式机上安装配置Hyperledger Fabric环境 安装Ubuntu 16.04 双系统 镜像下载地址:https://www.ubuntu.com/download/desktop 安装教程:http://www.cnblogs.com/Duane/p/5424218.ht
阅读全文
摘要:区块链(Blockchain)是一种分布式账本(listributed ledger),它是一种仅供增加(append-only),内容不可变(immutable)的有序(ordered)链式数据结构,该数据结构由网络中的一系列节点共同维护,并且这些节点之间互不信任。区块链是如今盛行的Bitcoin
阅读全文
摘要:运行fabric-samples项目中的一个例子:first-network,创建第一个网络(Building Your First Network)。 该网络共有4个peer节点,划分为2个组织(organizations),以及1个单独的orderer节点,另外还需要一个容器来执行创建和加入ch
阅读全文
摘要:macOS系统下配置hyperledger fabric环境 cURL mac中自带curl,如果需要下载最新版本,则可按照以下命令,并将路径添加在系统环境变量的最前面即可 brew install curl Docker & Docker Compose 下载地址:https://store.do
阅读全文