hyperledger

HyperLedger/Fabric JAVA-SDK with 1.1

白昼怎懂夜的黑 提交于 2020-01-12 15:12:56
HyperLedger/Fabric JAVA-SDK with 1.1 该项目可直接在 github 上访问。 该项目介绍如何使用fabric-sdk-java框架,基于fabric-sdk-java v1.1正式版开发,可向下兼容1.0版本。 该项目没有对原JAVA-SDK做修改,主要是结合HyperLedger Fabric与fabric-sdk-java中的交互方式做了个人感觉更为清晰的描述,希望能够帮助更多的人尽快熟悉fabric-sdk-java的操作流程和方式。 sdk-advance sdk-advance是基于fabric-sdk-java v1.1的服务,其主要目的是为了更简单的使用fabric-sdk-java,对原有的调用方法做了进一步封装,主要提供了各种中转对象,如智能合约、通道、排序服务、节点、用户等等,最终将所有的中转对象交由一个中转组织来负责配置,其对外提供服务的方式则交给FabricManager来掌管。 该项目仅作为学习分享的形式提交维护,关于生产部署方面,sdk-advance与app的交互可自行选择采用thrift或protobuf等数据传输协议实现,这里并没有提供该方案的具体实现,需要自己动手解决。 sdk-advance-intermediate intermediate系列对象是该项目的主要封装对象,间接屏蔽了真实应用层与fabric

hyper-v 安装Centos及网络配置

心已入冬 提交于 2020-01-12 09:12:28
新安装的Centos系统默认情况下是不能上网的,需要经过相应的配置;选择对应的虚拟机,点击“虚拟交换机管理器”; 设置hyper-v上的网络及分配cpu、内存、磁盘等资源。 安装CentOS7 过程中,先设置网关、IP、子网掩码。 安装完成启动系统后需要用root帐号登录; 桌面右击打开终端命令窗口; 输入以下命令,进入网络配置文件目录; cd /etc/sysconfig/network-scripts/ 输入ls(注意是小写英文字母L,不是1)命令查看具体包含了哪些文件; 通过vi进入ifcfg的第一个文件进行配置或修改; vi ifcfg-eth0(默认文件名) 开启自动启用网络连接; ONBOOT=yes 添加或修改ip地址; IPADDR0=xxx.xxx.xxx.xxx 添加或修改子网掩码; PREFIXO0=24 添加或修改网关地址; GATEWAY0=255.255.255.0 添加或修改DNS服务器; DNS1=(如192.168.1.1) 最后使设置生效并测试是否成功; :wq! #保存退出 service network restart #重启网络 ping www.baidu.com #测试网络是否正常 设置主机名为www; hostname www #设置主机名为www vi /etc/hostname #编辑配置文件 www #修改localhost

Fabric1.4:手动启动 first-network 网络(一)

北城余情 提交于 2020-01-11 18:27:50
注意:本文所使用的 fabric 版本为 v1.4.3,与其它版本的网络存在差异。 手动启动 first-network 网络系列分为三部分: 手动启动 first-network 网络(一) 手动启动 first-network 网络(二) 手动启动 first-network 网络(三) 第一篇单纯使用命令行的形式执行 byfn.sh 脚本中的内容,第二篇和第三篇是对手动启动网络过程所使用的命令和配置文件的解释。 1 生成组织结构与身份证书 我们使用 cryptogen 工具将文件 crypto-config.yaml 作为参数配置生成组织结构与身份证书: $ cd ./fabric-sample/first-network $ ../bin/cryptogen generate --config=./crypto-config.yaml 执行完毕后,当前文件夹下会出现一个新的文件夹: crypto-config ,在该目录下就是存放刚刚生成的组织结构与身份证书。 2 生成网络启动的配置文件 我们使用 configtxgen 工具会将文件 configtx.yaml 作为参数配置生成网络启动的配置文件。 因此,我们需要告诉 configtxgen 工具在哪里寻找它需要的 configtx.yaml 文件,告诉它查看当前的工作目录: $ export FABRIC_CFG

Fabric1.4:手动启动 first-network 网络(三)

人盡茶涼 提交于 2020-01-11 18:22:09
注意:本文所使用的 fabric 版本为 v1.4.3,与其它版本的网络存在差异。 手动启动 first-network 网络系列分为三部分: 手动启动 first-network 网络(一) 手动启动 first-network 网络(二) 手动启动 first-network 网络(三) 第一篇单纯使用命令行的形式执行 byfn.sh 脚本中的内容,第二篇和第三篇是对手动启动网络过程所使用的命令和配置文件的解释。 1 启动分布式网络 手动生成 fabric 网络所需的配置文件后,接下来需要启动区块链中提供网络服务的各个节点。fabric 采用容器技术,使用 docker-compose 这个工具来实现区块链网络所需的节点容器管理,实现方式只需要编写节点相应的配置文件即可。 1.1 docker-compose-cli.yaml 在 first-network 目录下提供了一个 dokcer-compose 工具所需的配置文件 docker-compose-cli.yaml,我们使用该文件启动网络节点,下面是该文件的内容: version: '2' # 表示用的版本 2 的 YAML 版本 volumes: orderer.example.com: peer0.org1.example.com: peer1.org1.example.com: peer0.org2.example

Understanding Various Certificates in Hyperledger fabric

回眸只為那壹抹淺笑 提交于 2020-01-11 17:02:39
问题 Hello I am tryin to use hyperledger fabric for a block chain implementation. I did the first-network demo and found lot of certificates in it. I have tried arranging them hierarchically in below picture. I Have some questions related to them Why are all these different categories of certs required. Like different msp tls are they generated once and copied at different locations? How these different certificates will be used in different scenarios (like enrollment and communication.) If we

fabric工程化

倖福魔咒の 提交于 2020-01-10 22:00:03
一个小时带你用 Hyperledger Fabric开发一个Demo ,看这篇文章写一个fabric的demo应该很快,但是将fabric工程化考虑的因素就比较多了。看一下 他的demo源码 进入到 startFabric.sh ,不禁要问,如果有6个组织,那么这个脚本岂不是要写6个,再增加组织怎么办呢?实际工程化,就不是demo那么简单了。 #install chaincode on peer0 docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli peer chaincode install -n account -v 1.4 -p "$CC_SRC_PATH" -l "$LANGUAGE" #init chaincode on peer0 docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src

HyperLedger Fabric成员管理

ε祈祈猫儿з 提交于 2020-01-10 03:54:31
1 成员管理 Hyperledger Fabric架构详解 ,这篇文章有很多图,直觉告诉我,应为fabric区别与公有链在于交易的隐私性,那么成员安全管理,也就成了核心问题了,只要搞清楚了fabric各个参与方在每个环节中的角色,就知道怎么玩转fabric了。 1.1 证书生成 蜗牛讲-fabric原理之证书生成 ,虽然告诉我们怎么生成证书,但是思考org到底在业务上是什么才是重点。 执行 cryptogen showtemplate ,将模板中的内容,写入到 crypto-config.yaml 中,接着再执行 cryptogen generate --config=./crypto-config.yaml ,展开的内容解释,可以参考 Hyperledger Fabric:cryptogen ,从什么的文件,不禁要思考什么是Orderer组织和peer组织呢?模板是solo模式,那么集群环境是什么样的呢? 1.2 Orderer组织 orderer集群多机部署 ,可以参考,虽然这篇文章与fabric的模板有较大差异。 1.3交易通道 从 HyperLedg 来源: CSDN 作者: warrah 链接: https://blog.csdn.net/warrah/article/details/103890670

Hyperledger Fabric v0.6 using Docker Toolbox

↘锁芯ラ 提交于 2020-01-07 07:09:18
问题 I am using Docker Toolbox on Windows to run Hyperledger Fabric v0.6. Peer and CA has started successfully. When I run the following command : CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS=0.0.0.0:7051 ./chaincode_example02. End up with the error : "Error trying to connect to local peer : grpc : timed out when dialing" I changed 0.0.0.0:7051 to the internal IP of the dockerfile_vp0_1, 172.17.0.3 :7051 but I end up with the same error. I am following the instructions from https://github.com

Hypterledger Fabric 1.4环境搭建

喜你入骨 提交于 2020-01-07 00:06:39
Github fabric官方Github地址为: https://github.com/hyperledger/fabric 环境搭建流程 1. 环境依赖 依赖的软件版本根据安装的Fabric的版本差异而略有不同,具体请查看fabric的docs/source目录下的prereqs.rst。 1.1 注 本次配置使用的为阿里云主机,系统:CentOS Linux release 7.5.1804 (Core) 1.2 Git安装 yum install git 1.3 curl安装 yum install curl 1.4 docker安装 curl -fsSL https://get.docker.com/ | sh 注:docker版本不要太old 1.5 docker-compose安装 # 安装 curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose # 增加可执行权限 chmod +x docker-compose # 查看是否安装成功 docker-compose --version 1.6 go环境配置 # 下载安装包 wget https:/

Hyperledger composer javascript return value

给你一囗甜甜゛ 提交于 2020-01-06 06:05:48
问题 I want to create smart contract for login. When users input username and password are correct its will return true and incorrect return false to my web application. Model participant SampleParticipant identified by participantId { o String participantId o String username o String password } transaction SampleLogin { --> SampleParticipant participant o String inputUsername o String inputPassword } Transaction function sampleLogin(tx) { var username = tx.participant.username; var password = tx