hyperledger

Hyperledger Caliper测试框架中文文档

北城余情 提交于 2020-03-13 13:34:15
Hyperledger Caliper是一个通用的区块链性能测试框架,它允许用户使用自定义的用例测试不同的区块链解决方案,并得到一组性能测试结果。中文文档由汇智网翻译整理,访问地址: Hyperledger Caliper中文文档 。 Caliper目前支持以下区块链平台: Hyperledger Besu Hyperledger Burrow Ethereum Hyperledger Fabric FISCO BCOS Hyperledger Iroha Hyperledger Sawtooth Caliper目前支持的性能指标包括: 交易/读吞吐量 交易/读延迟:最小、最大、平均、百分比 资源消耗:CPU、内存、网络IO... Hyperledger Caliper系统架构 Caliper是一个可以对不同区块链平台进行基准测试的通用框架。Caliper 设计时考虑了伸缩性和可扩展性,因此很容易和主流的运维监控系统集成。 Hyperledger Caliper系统架构总览 Caliper的多区块链平台支持能力 Caliper的主进程与工作进程 Caliper的分布式处理能力 安装Hyperledger Caliper Caliper目前提供NPM和DOcker两种官方发布途径,此外,你也可以直接克隆官方代码然后从源码进行安装: 用NPM安装Caliper

Fabrc 2.0 外部链码开发教程

ぐ巨炮叔叔 提交于 2020-03-13 09:54:15
在Hyperledger Fabric 2.0中引入的一个新特性,就是可以使用外部的链码启动器,这种外部启动链码的方式非常适合使用kubenetes或dowcker swarm来统一管理节点容器和链码容器。在这片文章中,我们将学习如何使用外部链码启动器在K8s集群中部署链码。 1、Fabric外部链码实验的前提条件 Hyperledger Fabric区块链开发教程: Fabric Node.js开发详解 | Fabric Java开发详解 | Fabric Golang开发详解 下面是我们实验的一些前提条件 一个kubenetes集群,你可以使用minikube或一个单节点的kubeadmin。在 本文中我们使用kubeadmin hyperledger fabric 2.0.1 docker镜像 hyperledger fabric 2.0.1 预编译程序。我们需要其中的工具来创建 密码学资料和通道交易配置文件。可以从 这里 下载。 从 这里 下载本文的代码 2、安装预编译程序 使用以下命令安装预编译程序: wget https://github.com/hyperledger/fabric/releases/download/v2.0.1/hyperledger-fabric-linux-amd64-2.0.1.tar.gz tar -xzf hyperledger

Hyperledger Caliper

孤人 提交于 2020-03-10 23:14:19
在这个教程中,我们将学习如何使用Hyperledger Caliper对包含多个排序节点的Fabric网络进行基准测试,我们使用Docker Swarm作为容器编排工具。 Hyperledger Fabric区块链开发教程: Fabric区块链Node.js开发详解 Fabric区块链Java开发详解 Fabric区块链Golang开发详解 1、待测Fabric网络的基本配置 测试环境使用3台虚拟机,配置如下: Google cloud VM instance (n1-standard-4) 4 vCPUs, 15 GB memory Ubuntu 18.04.2 LTS 每台虚拟机需要提前安装以下软件: Docker version 18.09.8, build 0dd43dd87f or above docker-compose version 1.17.1 or above Node.js v8.16.0 NPM 6.4.1 2、待测Fabric网络的拓扑结构 需要测试的Hyperledger Fabric网络中包含3个参与机构,共3个排序节点采用Raft共识算法, 每个机构提供1个排序节点和1个对等节点,对等节点使用GoLevelDB作为状态数据库。 3、安装Hyperledger Caliper 首先参考 官方文档 在HOST1上安装Hyperledger Caliper

Hyperledger Fabric密码模块系列之BCCSP(三)

会有一股神秘感。 提交于 2020-03-05 06:10:48
fabric中通过工厂模式来生成bccsp实例,进而通过bccsp的接口来提供加密、解密、签名验证以及哈希等操作。 fabric的factory工厂默认返回的bccsp实例是sw(也就是所有密码操作都是封装go底层算法来实现的),这里的工厂模式代码不多,大家可以自己去fabric/bccsp/factory目录下阅读源代码,以后有时间单独作为一章来介绍。 sw在fabric项目发展中有一次较大的改动: 1、在fabric-1.0发布前,代码的结构是通过具体算法来组织的,比如ecdsa相关的生成密钥、签名以及验证等编写在同一个go文件中。 2、fabric-1.0发布后,代码按照bccsp接口实现来组织代码,比如关于密钥生成的操作KeyGen,aes,rsa以及ecdsa的密钥生成操作都组织到一个go文件中,它们都实现了同一个接口KeyGenerator,当调用bccsp的密钥生成算法KeyGen的时候,通过反射的机制来判断具体需要生成什么类型的密钥。新版本的优点是更加容易扩展,bccsp实现代码更加简洁。 以下不作说明,以fabric-1.0版本以后的sw来介绍。本着“无图说个j8”原则,先附一张sw下的文件列表图: 好了,这就是bccsp子包sw里面的代码,从文件名字上来看,主要分为6类: 1、internals.go:定义了一组接口,每个接口对应bccsp接口中的一个函数

Error in running byfn: chaincode installation failed due to gradle issue?

心已入冬 提交于 2020-03-05 06:05:37
问题 This is a continuation of my question found here. It seems like the nature of the error has changed hence I am asking a new question. A kind soul pointed out that the Java version mismatch in my previous run, so I ran docker container ls -a : CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4bb779ce6b71 hyperledger/fabric-javaenv:2.0 "/bin/sh -c ./build.…" 2 minutes ago Up 2 minutes fervent_pare d23e83c3cde5 hyperledger/fabric-javaenv:2.0 "/bin/sh -c ./build.…" 2 days ago Exited (0) 2

Endorsement fails when node.js fabric-client application is run on a separate node

ぐ巨炮叔叔 提交于 2020-03-04 17:42:51
问题 I'm running the fabcar example from fabric samples on a node. My fabric network is first-network (BYFN) run inside docker containers and I would like to invoke chaincode using a node.js fabric-client application on a separate node (Raspberry Pi). In connection-org1.json file, I have replaced the localhost domain names (in the peer urls) with my own domain name (mydomain.com) where the fabric network is running. I execute invoke.js on Raspberry Pi with the following modified gateway settings:

Endorsement fails when node.js fabric-client application is run on a separate node

我的未来我决定 提交于 2020-03-04 17:41:52
问题 I'm running the fabcar example from fabric samples on a node. My fabric network is first-network (BYFN) run inside docker containers and I would like to invoke chaincode using a node.js fabric-client application on a separate node (Raspberry Pi). In connection-org1.json file, I have replaced the localhost domain names (in the peer urls) with my own domain name (mydomain.com) where the fabric network is running. I execute invoke.js on Raspberry Pi with the following modified gateway settings:

Hyperledger Fabric(四)first-network案例中的主要配置文件及主要脚本

﹥>﹥吖頭↗ 提交于 2020-03-04 02:50:06
主要配置文件: 1.crypto-config.yaml Cryptogen工具使用该文件生成“密码材料”,即Fabric网络中各种实体(peer、order、ca)所需的证书及密钥。crypto-config.yaml包含网络拓扑结构定义,Cryptogen以其为基础为组织(包括order)和属于这些组织的组件(peer和ca)生成证书及密钥。该配置文件中的“count”变量用来指定每个组织的对等点数量,文件的其余部分较容易理解。 cryptogen generate --config=./crypto-config.yaml #运行该工具后,这些证书将被放置在一个名为“crypto-config”的文件夹中。 2.configtx.yaml configtx.yaml包含一个联盟网络(通道)的定义。该文件首先指定每个成员组织的MSP目录的位置(order创世区块中需要存储成员组织的根证书)、组织的锚节点等。然后指定了一个联盟(联盟中可以创建多个通道)由哪些组织构成,以及order服务的相关配置(共识类型,区块大小等)。此外该文件还规定了系统通道和普通通道的一些访问控制策略。 configtxgen工具基于configtx.yaml配置文件创建四个工件:genesis.block,channel.tx,Org1MSPanchors.tx,Org2MSPanchors.tx

精通Hyperledger之docker学习笔记(1.2)

蹲街弑〆低调 提交于 2020-03-01 01:38:43
学习研究Hyperledger所用到的docker命令,以后会不断完善 1、docker安装信息 $ docker info 2、docker版本 $ docker version 3、列出所有正在运行的容器 $ docker ps 4、查看docker安装的镜像 $ docker images 5、删除指定镜像 $ docker rmi <image id> 6、删除所有镜像 $ docker rmi $(docker images -q) 过程中有些情况下不能全部删除, image is referenced in multiple repositories 出现这种状况,解决方式 删除时可以用repository和tag的方式来删除 $ docker rmi repository:tag 7、关闭运行的镜像 $ docker rm -f $(docker ps -aq) 8、对docker容器的处理 $ docker stop mydocker 启动一个或多少已经被停止的容器 $ docker restart mydocker 停止一个运行中的容器 $ docker start mydocker 重启容器 9、标记本地镜像,将其归入某一仓库 $ docker tag aberic/fabric-edge:1.0-RC2 aberic/fabric-edge:latest 10

5分钟创建并玩转属于自己的区块链(图文攻略)

独自空忆成欢 提交于 2020-02-28 14:33:20
前言: 区块链今年发展真是飞快!从最初一个陌生的概念,到如今已经在各个行业起步,星星之火大有燎原之势。真希望能拥有自己的区块链练练手【表情】!可是一个人、一台电脑,怎么才能搭起来区块链环境……火到不行的区块链,想说爱你不容易! Don’t Worry! 现在就手把手带你从零开始, 5 分钟玩转属于自己的区块链! ~ IBM 中国研究院开发的超能云( SuperVessel : http://www.ptopenlab.com )平台提供了给区块链爱好者、开发者的区块链开发测试环境。通过该平台,用户能够免费、超快速创建基于 Hyperledger Fabric 的多节点区块链、并在自己的链上花式玩转智能合约。 准备工作 只需要你的本地浏览器即可! 注册一个帐号 (如果已经有Supervesse的帐号,该步骤可忽略。直接使用Supervessel的帐号登陆即可。) 访问超能云( SuperVessel )区块链服务的公测地址 http://crl.ptopenlab.com:8800/bc 点击右上角 Log in (登录)按钮,在弹出的窗口中点击 Register (注册),填写邮箱和密码后提交。此时建议去邮箱查看激活邮件,并激活自己的账号(小编提示:懒的激活也没关系,只是某些高级服务必须激活后才能使用哦)。 快速创建自己的区块链 注册完成后,回到主页,点击偌大的 GIVE ME A