1. 程式人生 > >Hyperledger Fabric 安裝

Hyperledger Fabric 安裝

區塊鏈在這裡就不多費筆墨了,相信大家問度娘比看我的文章好多了
快速進入正題:

環境準備

五臺 CentOS7.2

[root@fabric=orderer e2e_cli]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

其中三臺用來部署peer ,一臺用來部署orderer,另一臺用來部署證書

記得要關閉selinux

[[email protected] ~]# cat /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted

安裝 docker git golang docker-compose

yum install docker git golang

yum install epel-release

yum install pip && pip install --upgrade pip && pip install
docker-compose systemctl start docker

下載原始碼,映象

獲取fabric原始碼

mkdir -p $GOPATH/src/github.com/hyperledger
cd  $GOPATH/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git

生成configtxgen工具

[[email protected]=orderer fabric]# make configtxgen
find: ‘/src/github.com/hyperledger/fabric/core/chaincode/shim’: 沒有那個檔案或目錄
build/bin/configtxgen
CGO_CFLAGS=" " GOBIN=/root/go/src/github.com/hyperledger/fabric/build/bin go install -tags "nopkcs11" -ldflags "-X github.com/hyperledger/fabric/common/configtx/tool/configtxgen/metadata.Version=1.0.7-snapshot-da14b6b" github.com/hyperledger/fabric/common/configtx/tool/configtxgen
Binary available as build/bin/configtxgen
[root@fabric=orderer fabric]# ls -l build/bin/
總用量 14816
-rwxr-xr-x 1 root root 15168777 317 09:37 configtxgen

生成配置檔案

[[email protected]=orderer fabric]# cd examples/e2e_cli/
[[email protected]=orderer e2e_cli]# pwd
/root/go/src/github.com/hyperledger/fabric/examples/e2e_cli
[[email protected]=orderer e2e_cli]# ls -l
總用量 84
drwxr-xr-x 2 root root    58 3月  17 09:36 base
drwxr-xr-x 2 root root   106 3月  17 09:54 channel-artifacts
-rw-r--r-- 1 root root  5013 317 09:36 configtx.yaml
drwxr-xr-x 4 root root    57 3月  17 09:54 crypto-config
-rw-r--r-- 1 root root  3858 317 09:36 crypto-config.yaml
-rw-r--r-- 1 root root  2677 317 09:36 docker-compose-cli.yaml
-rw-r--r-- 1 root root  2005 317 09:36 docker-compose-couch.yaml
-rw-r--r-- 1 root root  2517 317 09:36 docker-compose-e2e-template.yaml
-rw-r--r-- 1 root root  2725 317 09:54 docker-compose-e2e.yaml
-rw-r--r-- 1 root root  2119 317 09:36 download-dockerimages.sh
-rw-r--r-- 1 root root 41711 317 09:36 end-to-end.rst
drwxr-xr-x 3 root root    22 3月  17 09:36 examples
-rwxr-xr-x 1 root root  3588 317 09:36 generateArtifacts.sh
-rwxr-xr-x 1 root root  2617 317 09:36 network_setup.sh
drwxr-xr-x 2 root root    22 3月  17 09:36 scripts

在終端 執行./generateArtifacts.sh

[root@fabric=orderer e2e_cli]# ./generateArtifacts.sh 
mychannel

Building cryptogen
find: ‘/src/github.com/hyperledger/fabric/core/chaincode/shim’: 沒有那個檔案或目錄
make: 進入目錄“/root/go/src/github.com/hyperledger/fabric”
Building release/linux-amd64/bin/configtxgen for linux-amd64
mkdir -p release/linux-amd64/bin
CGO_CFLAGS=" " GOOS=linux GOARCH=amd64 go build -o /root/go/src/github.com/hyperledger/fabric/release/linux-amd64/bin/configtxgen -tags "nopkcs11" -ldflags "-X github.com/hyperledger/fabric/common/configtx/tool/configtxgen/metadata.Version=1.0.7-snapshot-da14b6b" github.com/hyperledger/fabric/common/configtx/tool/configtxgen
Building release/linux-amd64/bin/cryptogen for linux-amd64
mkdir -p release/linux-amd64/bin
CGO_CFLAGS=" " GOOS=linux GOARCH=amd64 go build -o /root/go/src/github.com/hyperledger/fabric/release/linux-amd64/bin/cryptogen -tags "nopkcs11" -ldflags "-X github.com/hyperledger/fabric/common/tools/cryptogen/metadata.Version=1.0.7-snapshot-da14b6b" github.com/hyperledger/fabric/common/tools/cryptogen
Building release/linux-amd64/bin/configtxlator for linux-amd64
mkdir -p release/linux-amd64/bin
CGO_CFLAGS=" " GOOS=linux GOARCH=amd64 go build -o /root/go/src/github.com/hyperledger/fabric/release/linux-amd64/bin/configtxlator -tags "nopkcs11" -ldflags "-X github.com/hyperledger/fabric/common/tools/configtxlator/metadata.Version=1.0.7-snapshot-da14b6b" github.com/hyperledger/fabric/common/tools/configtxlator
Building release/linux-amd64/bin/peer for linux-amd64
mkdir -p release/linux-amd64/bin
CGO_CFLAGS=" " GOOS=linux GOARCH=amd64 go build -o /root/go/src/github.com/hyperledger/fabric/release/linux-amd64/bin/peer -tags "nopkcs11" -ldflags "-X github.com/hyperledger/fabric/common/metadata.Version=1.0.7-snapshot-da14b6b -X github.com/hyperledger/fabric/common/metadata.BaseVersion=0.3.2 -X github.com/hyperledger/fabric/common/metadata.BaseDockerLabel=org.hyperledger.fabric -X github.com/hyperledger/fabric/common/metadata.DockerNamespace=hyperledger -X github.com/hyperledger/fabric/common/metadata.BaseDockerNamespace=hyperledger" github.com/hyperledger/fabric/peer
Building release/linux-amd64/bin/orderer for linux-amd64
mkdir -p release/linux-amd64/bin
CGO_CFLAGS=" " GOOS=linux GOARCH=amd64 go build -o /root/go/src/github.com/hyperledger/fabric/release/linux-amd64/bin/orderer -tags "nopkcs11" -ldflags "-X github.com/hyperledger/fabric/common/metadata.Version=1.0.7-snapshot-da14b6b -X github.com/hyperledger/fabric/common/metadata.BaseVersion=0.3.2 -X github.com/hyperledger/fabric/common/metadata.BaseDockerLabel=org.hyperledger.fabric -X github.com/hyperledger/fabric/common/metadata.DockerNamespace=hyperledger -X github.com/hyperledger/fabric/common/metadata.BaseDockerNamespace=hyperledger" github.com/hyperledger/fabric/orderer
mkdir -p release/linux-amd64/bin
make: 離開目錄“/root/go/src/github.com/hyperledger/fabric”

##########################################################
##### Generate certificates using cryptogen tool #########
##########################################################
org1.example.com
org2.example.com

Using configtxgen -> /root/go/src/github.com/hyperledger/fabric/examples/e2e_cli/../../release/linux-amd64/bin/configtxgen
##########################################################
#########  Generating Orderer Genesis block ##############
##########################################################
2018-03-17 09:54:12.129 CST [common/configtx/tool] main -> INFO 001 Loading configuration
2018-03-17 09:54:12.149 CST [common/configtx/tool] doOutputBlock -> INFO 002 Generating genesis block
2018-03-17 09:54:12.150 CST [common/configtx/tool] doOutputBlock -> INFO 003 Writing genesis block

#################################################################
### Generating channel configuration transaction 'channel.tx' ###
#################################################################
2018-03-17 09:54:12.157 CST [common/configtx/tool] main -> INFO 001 Loading configuration
2018-03-17 09:54:12.160 CST [common/configtx/tool] doOutputChannelCreateTx -> INFO 002 Generating new channel configtx
2018-03-17 09:54:12.160 CST [common/configtx/tool] doOutputChannelCreateTx -> INFO 003 Writing new channel tx

#################################################################
#######    Generating anchor peer update for Org1MSP   ##########
#################################################################
2018-03-17 09:54:12.167 CST [common/configtx/tool] main -> INFO 001 Loading configuration
2018-03-17 09:54:12.169 CST [common/configtx/tool] doOutputAnchorPeersUpdate -> INFO 002 Generating anchor peer update
2018-03-17 09:54:12.169 CST [common/configtx/tool] doOutputAnchorPeersUpdate -> INFO 003 Writing anchor peer update

#################################################################
#######    Generating anchor peer update for Org2MSP   ##########
#################################################################
2018-03-17 09:54:12.177 CST [common/configtx/tool] main -> INFO 001 Loading configuration
2018-03-17 09:54:12.180 CST [common/configtx/tool] doOutputAnchorPeersUpdate -> INFO 002 Generating anchor peer update
2018-03-17 09:54:12.181 CST [common/configtx/tool] doOutputAnchorPeersUpdate -> INFO 003 Writing anchor peer update

獲取映象

docker pull hyperledger/fabric-orderer:x86_64-1.0.0-alpha
docker pull hyperledger/fabric-peer:x86_64-1.0.0-alpha
docker pull hyperledger/fabric-zookeeper:x86_64-1.0.0-alpha
docker pull hyperledger/fabric-couchdb:x86_64-1.0.0-alpha
docker pull hyperledger/fabric-kafka:x86_64-1.0.0-alpha
docker pull hyperledger/fabric-ca:x86_64-1.0.0-alpha
docker pull hyperledger/fabric-ccenv:x86_64-1.0.0-alpha
docker pull hyperledger/fabric-javaenv:x86_64-1.0.0-alpha
docker pull hyperledger/fabric-tools:x86_64-1.1.0-alpha

docker tag hyperledger/fabric-tools:x86_64-1.1.0-alpha hyperledger/fabric-tools:latest
docker tag hyperledger/fabric-orderer:x86_64-1.0.0-alpha hyperledger/fabric-orderer:latest
docker tag hyperledger/fabric-peer:x86_64-1.0.0-alpha hyperledger/fabric-peer:latest
docker tag hyperledger/fabric-zookeeper:x86_64-1.0.0-alpha hyperledger/fabric-zookeeper:latest
docker tag hyperledger/fabric-couchdb:x86_64-1.0.0-alpha hyperledger/fabric-couchdb:latest
docker tag hyperledger/fabric-kafka:x86_64-1.0.0-alpha hyperledger/fabric-kafka:latest
docker tag hyperledger/fabric-ca:x86_64-1.0.0-alpha hyperledger/fabric-ca:latest
docker tag hyperledger/fabric-ccenv:x86_64-1.0.0-alpha hyperledger/fabric-ccenv:latest
docker tag hyperledger/fabric-javaenv:x86_64-1.0.0-alpha hyperledger/fabric-javaenv:latest

使用docker 建立Fabric 網路 以及建立/加入通道(賬本)

[[email protected]=orderer e2e_cli]# ls -l
總用量 84
drwxr-xr-x 2 root root    58 3月  17 09:36 base
drwxr-xr-x 2 root root   106 3月  17 09:54 channel-artifacts
-rw-r--r-- 1 root root  5013 317 09:36 configtx.yaml
drwxr-xr-x 4 root root    57 3月  17 09:54 crypto-config
-rw-r--r-- 1 root root  3858 317 09:36 crypto-config.yaml
-rw-r--r-- 1 root root  2677 317 09:36 docker-compose-cli.yaml
-rw-r--r-- 1 root root  2005 317 09:36 docker-compose-couch.yaml
-rw-r--r-- 1 root root  2517 317 09:36 docker-compose-e2e-template.yaml
-rw-r--r-- 1 root root  2725 317 09:54 docker-compose-e2e.yaml
-rw-r--r-- 1 root root  2119 317 09:36 download-dockerimages.sh
-rw-r--r-- 1 root root 41711 317 09:36 end-to-end.rst
drwxr-xr-x 3 root root    22 3月  17 09:36 examples
-rwxr-xr-x 1 root root  3588 317 09:36 generateArtifacts.sh
-rwxr-xr-x 1 root root  2617 317 09:36 network_setup.sh
drwxr-xr-x 2 root root    22 3月  17 09:36 scripts

測試bash network_setup.sh up 該部署還存在問題,只提供參考

[root@fabricorderer e2e_cli]# pwd
/opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli
[root@fabricorderer e2e_cli]# bash network_setup.sh up
[root@fabricorderer e2e_cli]# bash network_setup.sh up
setting to default channel 'mychannel'
mychannel

Using cryptogen -> /opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli/../../release/linux-amd64/bin/cryptogen

##########################################################
##### Generate certificates using cryptogen tool #########
##########################################################
org1.example.com
org2.example.com

sed:-e 表示式 #1,字元 85:未終止的“s”命令
sed:-e 表示式 #1,字元 85:未終止的“s”命令
Using configtxgen -> /opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli/../../release/linux-amd64/bin/configtxgen
##########################################################
#########  Generating Orderer Genesis block ##############
##########################################################
2018-03-17 21:22:41.918 CST [common/configtx/tool] main -> INFO 001 Loading configuration
2018-03-17 21:22:41.940 CST [common/configtx/tool] doOutputBlock -> INFO 002 Generating genesis block
2018-03-17 21:22:41.941 CST [common/configtx/tool] doOutputBlock -> INFO 003 Writing genesis block

#################################################################
### Generating channel configuration transaction 'channel.tx' ###
#################################################################
2018-03-17 21:22:41.953 CST [common/configtx/tool] main -> INFO 001 Loading configuration
2018-03-17 21:22:41.956 CST [common/configtx/tool] doOutputChannelCreateTx -> INFO 002 Generating new channel configtx
2018-03-17 21:22:41.956 CST [common/configtx/tool] doOutputChannelCreateTx -> INFO 003 Writing new channel tx

#################################################################
#######    Generating anchor peer update for Org1MSP   ##########
#################################################################
2018-03-17 21:22:41.969 CST [common/configtx/tool] main -> INFO 001 Loading configuration
2018-03-17 21:22:41.971 CST [common/configtx/tool] doOutputAnchorPeersUpdate -> INFO 002 Generating anchor peer update
2018-03-17 21:22:41.972 CST [common/configtx/tool] doOutputAnchorPeersUpdate -> INFO 003 Writing anchor peer update

#################################################################
#######    Generating anchor peer update for Org2MSP   ##########
#################################################################
2018-03-17 21:22:41.983 CST [common/configtx/tool] main -> INFO 001 Loading configuration
2018-03-17 21:22:41.986 CST [common/configtx/tool] doOutputAnchorPeersUpdate -> INFO 002 Generating anchor peer update
2018-03-17 21:22:41.986 CST [common/configtx/tool] doOutputAnchorPeersUpdate -> INFO 003 Writing anchor peer update

/usr/lib/python2.7/site-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 (1.22) or chardet (2.2.1) doesn't match a supported version!
Creating orderer.example.com ... done
Creating cli ... done
Creating peer1.org1.example.com ... 
Creating peer1.org2.example.com ... 
Creating orderer.example.com ... 
Creating peer0.org2.example.com ... 
Creating cli ... 

 ____    _____      _      ____    _____           _____   ____    _____ 
/ ___|  |_   _|    / \    |  _ \  |_   _|         | ____| |___ \  | ____|
\___ \    | |     / _ \   | |_) |   | |    _____  |  _|     __) | |  _|  
 ___) |   | |    / ___ \  |  _ <    | |   |_____| | |___   / __/  | |___ 
|____/    |_|   /_/   \_\ |_| \_\   |_|           |_____| |_____| |_____|

Channel name : mychannel
Creating channel...
CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
CORE_PEER_LOCALMSPID=Org1MSP
CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
CORE_PEER_TLS_ENABLED=true
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp
CORE_PEER_ID=cli
CORE_LOGGING_LEVEL=DEBUG
CORE_PEER_ADDRESS=peer0.org1.example.com:7051
2018-03-17 13:22:44.873 UTC [msp] getMspConfig -> INFO 001 intermediate certs folder not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/intermediatecerts]. Skipping.: [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/intermediatecerts: no such file or directory]
2018-03-17 13:22:44.873 UTC [msp] getMspConfig -> INFO 002 crls folder not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/intermediatecerts]. Skipping.: [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/crls: no such file or directory]
2018-03-17 13:22:44.873 UTC [msp] getMspConfig -> INFO 003 MSP configuration file not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/config.yaml]: [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/[email protected]/msp/config.yaml: no such file or directory]
2018-03-17 13:22:44.924 UTC [msp] GetLocalMSP -> DEBU 004 Returning existing local MSP
2018-03-17 13:22:44.924 UTC [msp] GetDefaultSigningIdentity -> DEBU 005 Obtaining default signing identity
2018-03-17 13:22:44.926 UTC [grpc] Printf -> DEBU 006 Failed to dial orderer.example.com:7050: connection error: desc = "transport: authentication handshake failed: x509: certificate signed by unknown authority"; please retry.
Error: Error connecting due to  rpc error: code = Internal desc = connection error: desc = "transport: authentication handshake failed: x509: certificate signed by unknown authority"
Usage:
  peer channel create [flags]

Global Flags:
  -b, --blockpath string           Path to file containing genesis block
      --cafile string              Path to file containing PEM-encoded trusted certificate(s) for the ordering endpoint
  -c, --chain string               In case of a newChain command, the chain ID to create.
  -f, --file string                Configuration transaction file generated by a tool such as configtxgen for submitting to orderer
      --logging-level string       Default logging level and overrides, see core.yaml for full syntax
  -o, --orderer string             Ordering service endpoint
      --test.coverprofile string   Done (default "coverage.cov")
  -t, --timeout int                Channel creation timeout (default 5)
      --tls                        Use TLS when communicating with the orderer endpoint
  -v, --version                    Display current version of fabric peer server

!!!!!!!!!!!!!!! Channel creation failed !!!!!!!!!!!!!!!!
================== ERROR !!! FAILED to execute End-2-End Scenario ==================

^C
[[email protected]er e2e_cli]# docker ps 
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                              NAMES
e8211fcb9ced        hyperledger/fabric-tools     "/bin/bash -c './s..."   4 minutes ago       Up 4 minutes                                                           cli
b13e244fc833        hyperledger/fabric-orderer   "orderer"                4 minutes ago       Up 4 minutes        0.0.0.0:7050->7050/tcp                             orderer.example.com
d4875001e448        hyperledger/fabric-peer      "peer node start"        4 minutes ago       Up 4 minutes        0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp     peer0.org1.example.com
9517f14308f6        hyperledger/fabric-peer      "peer node start"        4 minutes ago       Up 4 minutes        0.0.0.0:10051->7051/tcp, 0.0.0.0:10053->7053/tcp   peer1.org2.example.com
97ea015136bc        hyperledger/fabric-peer      "peer node start"        4 minutes ago       Up 4 minutes        0.0.0.0:8051->7051/tcp, 0.0.0.0:8053->7053/tcp     peer1.org1.example.com
116b0d99d316        hyperledger/fabric-peer      "peer node start"        4 minutes ago       Up 4 minutes        0.0.0.0:9051->7051/tcp, 0.0.0.0:9053->7053/tcp     peer0.org2.example.com

相關推薦

Hyperledger Fabric 安裝

區塊鏈在這裡就不多費筆墨了,相信大家問度娘比看我的文章好多了 快速進入正題: 環境準備 五臺 CentOS7.2 [root@fabric=orderer e2e_cli]# cat /etc/redhat-release CentOS Li

實戰:區塊鏈hyperledger fabric 初體驗 - 3: 鏈碼實例安裝、實例化、調用及代碼

區塊鏈 hyperledger fabric blockchain 本文鏈碼實例為Fabric 官方實例examples/chaincode/go/chaincode_example02,實現簡單的轉賬功能進入到cli容器裏面$ docker exec -it fabric-cli bash1

fabric001 ubuntu安裝hyperledger fabric

首先說說我的感受吧,我在windows下裝了fabric,在liunx下裝了fabric,我請在windows下做開發的人先放棄吧......你用vagrant沒有必要搞的亂七八糟的,為什麼不裝了liunx系統來的方便,我執行成功樣例用了兩天,重灌了好幾遍,心累...大家不要以為執行不了

ChainDesk|從0到1:Hyperledger Fabric開發精要-安裝Fabric

  作者:ChainDesk韓小東,ChainDesk區塊鏈行業分析師, ChainDesk區塊鏈工程師 孔壹學院今日搞活動,限時5折,快來學習吧 目標 順利下載Hyperledger Fabric 明確bootstrap.sh指令碼做了哪些事 任務實

Hyperledger fabric 1.3安裝記錄

一、環境 主機:阿里雲輕量應用伺服器 系統:Ubuntu 16.04(基於4.4核心) 二、先決條件 2.1 go 用此時最新的1.11.2版本 下載: wget https://dl.google.com/go/go1.11.2.linux-amd64.ta

Hyperledger Fabric 1.0 公有云安裝6--叢集部署之坑

使用了三臺VPC,都是Ubuntu 16.04 LTS版名稱   ip節點hostnameorgnazations1172.21.0.5ordererorderer.example.comorderers2s3172.21.0.13172.21.0.15sp0,clisp1p

hyperledger fabric docker-compose 安裝方式(多節點)(三)

啟動多節點叢集 1. 啟動 orderer [root@fabricorderer e2e_cli]# pwd /root/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli [root@f

Hyperledger Fabric 1.0 安裝和使用

Hyperledger Fabric 1.0 版本整體 重新設計了架構,預計將於今年 3 月份釋出。目前已經進入了 alpha 階段,可以進行功能性驗證。本文將介紹如何快速啟動一個 Fabric 1.0 的網路,並部署和呼叫 chaincode 進行測試。安裝 DockerD

Hyperledger fabric 1.0Beta網絡組成及構建流程

負責 組成 proposal 安裝 style 客戶端 invoke install eat 一、fabric網絡結構(暫時不包括CA)   如上圖所示,在fabric網絡中,O表示Orderer,P代表Peer,EP代表Endorsing Peer(endors

HyperLedger Fabric 1.0的Transaction處理流程

toa 足夠 余額 無法 -1 ber pla client ack 如果把區塊鏈比作一個只能讀寫,不能刪改的分布式數據庫的話,那麽事務和查詢就是對這個數據庫進行的最重要的操作。以比特幣來說,我們通過錢包或者Blockchain.info進行區塊鏈的查詢操作,而轉賬行為就是

Hyperledger fabric網絡中transaction產生以及流轉過程

sta 並不會 font eid teset amp 包括 ntb 當前 一、發起transaction 當client想要發起一個transaction時,它會首先發送一個PROPOSE消息到它選擇的一組endorser節點,消息模式有以下兩種,節點可以自由選擇(可能有更

Hyperledger Fabric-CA學習

運行 -1 lba haproxy i2c media lsi 體系架構 mos p { margin-bottom: 0.25cm; line-height: 120% } a:link { } Hyperleder Fabric系統架構核心邏輯包括MemberShip、

Hyperledger Fabric 架構梳理

斷開 序列號 進行 結構 屬性 per leg perl 宋體 區塊鏈的數據結構 State數據結構 由peer維護,key/value store Ledger 記錄了所有成功和不成功的狀態更新交易。Ledger被ordering service構造,是一個全排序的交易

Hyperledger Fabric概述

私有化 hyper 生成 了解 思想 區塊 提交 管理 清晰 綜述 Hyperledger Fabric是一個模塊化的分布式賬本解決方案支撐平臺,提供高度的保密性、彈性、靈活性與可擴展性。它的目的是支持不同組件的可插入實現,並適應經濟系統中存在的復雜性。Hyperledge

如何創建一個Hyperledger Fabric channel

gets 樣例目錄 extract 包含 其他 putc yaml sign 進制 創建channel的步驟: 執行configtxgen tool來生成genesis block; 執行configtxgen tool來生成初始二進制配置定義; 通過以下兩種方式獲取si

Hyperledger Fabric密碼模塊系列之BCCSP(一)

服務 編碼轉換 簡單 fabric 實現 支持 模塊 store block Fabric作為IBM主導的區塊鏈平臺,可謂是聯盟鏈中的一枝獨秀,現如今已經有100多個大型國際銀行、金融以及科技公司的加盟。與其說Fabric是區塊鏈的一種平臺,倒不如說是一個區塊鏈框架更

Hyperledger Fabric 1.0 從零開始(二)——公網環境構建

1.3 項目 htm move 自己 lvm2 fast 情況 tor 1:環境構建 在本文中用到的宿主機環境是Centos ,版本為Centos.x86_647.2,通過Docker 容器來運行Fabric的節點,版本為v1.0。因此,啟動Fabric網絡中的節點需要先安

Hyperledger Fabric 1.0 從零開始(六)——創建Fabric多節點集群

_id 測試 es2017 xtra 去掉 compose 多個 服務 執行命令 4:創建Fabric多節點集群 4.1、配置說明 首先可以根據官方Fabric自帶的e2e_cli列子中的集群方案來生成我們自己的集群,與案例不同的是我們需要把容器都分配到不同的服務器上,彼此

搭建基於hyperledger fabric的聯盟社區(三) --生成公私鑰證書及配置文件

ger tput reat cts crypto github 最終 pda 成功 一.生成公私鑰和證書 Fabric中有兩種類型的公私鑰和證書,一種是給節點之前通訊安全而準備的TLS證書,另一種是用戶登錄和權限控制的用戶證書。這些證書本來應該是由CA來頒發,但是目前只有兩

搭建基於hyperledger fabric的聯盟社區(八) --Fabric證書解析

一個 憑證 密鑰 設計 根證書 私鑰 文件 ons crt 一.證書目錄解析 通過cryptogen生成所有證書文件後,以peerOrgannizations的第一個組織樹org1為例,每個目錄和對應文件的功能如下: ca: 存放組織的根證書和對應的私鑰文件,默認