首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Playground for Hyperledger-启动网络

我们将利用docker-compose脚本来启动我们的区块链网络,并用之前生成的创世块来引导orderer。

在之前的示例中,我们使用的是docker-compose-cli.yaml来启动网络,为了详细了解每个节点和其配置的意义,我们分拆成多个yaml分别启动来看。

在first-network文件夹下创建yaml文件,我们将把自己写的所有的yaml文件放在里面。

CA

首先是CA的配置文件docker-compose-ca.yaml:

version:'2'

networks:

byfn:

services:

ca1:

image:hyperledger/fabric-ca

environment:

-FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server

-FABRIC_CA_SERVER_CA_NAME=ca-org1

-FABRIC_CA_SERVER_TLS_ENABLED=${ENABLE_TLS}

-FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem

-FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/e5ac2c775a1785aab2314e9a37903b546094990c7b23843fd58aaa323246b4a1_sk

ports:

-"7054:7054"

command:sh-c'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/e5ac2c775a1785aab2314e9a37903b546094990c7b23843fd58aaa323246b4a1_sk -b admin:adminpw -d'

volumes:

-../crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config

network_mode:host

container_name:ca_peerOrg1

networks:

-byfn

ca2:

image:hyperledger/fabric-ca

environment:

-FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server

-FABRIC_CA_SERVER_CA_NAME=ca-org2

-FABRIC_CA_SERVER_TLS_ENABLED=${ENABLE_TLS}

-FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem

-FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/478b238f352735a9e7454af1180f633cee8c50bfe2513510d8f38970b89c7ecc_sk

ports:

-"8054:7054"

command:sh-c'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/478b238f352735a9e7454af1180f633cee8c50bfe2513510d8f38970b89c7ecc_sk -b admin:adminpw -d'

volumes:

-../crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config

network_mode:host

container_name:ca_peerOrg2

networks:

-byfn

我们创建了2个ca容器,端口分别为本机的7054和8054,每个ca对应不同的org组织。

需要注意的是,这里volumes是挂载的外部路径,这个路径一定要写对,因为配置文件是在yaml文件夹中,所以需要../,和command中的私钥文件名也要替换成你自己本机路径下的名字。

command命令是ca服务器启动之后的初始化命令,传入参数包含了证书、私钥等配置,还有admin用户的用户名和密码,如果要修改ca的admin密码,要对应修改这个地方。

启动网路:

>$ CHANNEL_NAME=$CHANNEL_NAME TIMEOUT=60ENABLE_TLS=true docker-compose-f yaml/docker-compose-ca.yaml up-d

Creatingnetwork"net_default"with the default driver

Recreatingca_peerOrg2...

Recreatingca_peerOrg1...

Recreatingca_peerOrg1

Recreatingca_peerOrg2...done

查看下docker容器是否两个ca节点都启动了:

>$ docker ps-a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

2a23424f40e9hyperledger/fabric-ca"sh -c 'fabric-ca-..."39seconds agoUp53seconds0.0.0.0:8054->7054/tcp ca_peerOrg2

a1db6e04d736 hyperledger/fabric-ca"sh -c 'fabric-ca-..."39seconds agoUp54seconds0.0.0.0:7054->7054/tcp ca_peerOrg1

现在我们可以进入ca1容器,看看他里面都有些什么东西:

>$ docker exec-it ca_peerOrg1/bin/bash

>$ cd/etc/hyperledger/fabric-ca-server

>ls

ca-cert.pem ca-key.pem fabric-ca-server-config.yaml fabric-ca-server.db msp

有一些根证书和私钥,yaml文件里包含了ca节点的初始化配置,db是ca验证需要存储的一些账号信息。

Orderer

创建docker-compose-base.yaml文件:

version:'2'

services:

orderer0.example.com:

hostname:orderer0

domainname:example.com

container_name:orderer0.example.com

image:hyperledger/fabric-orderer

environment:

-ORDERER_GENERAL_LOGLEVEL=ERROR

-ORDERER_GENERAL_LISTENADDRESS=0.0.0.0

-ORDERER_GENERAL_GENESISMETHOD=file

-ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/genesis.block

-ORDERER_GENERAL_LOCALMSPID=OrdererMSP

-ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp

# enabled TLS

-ORDERER_KAFKA_RETRY_PERIOD=3s

-ORDERER_KAFKA_RETRY_STOP=10s

-ORDERER_KAFKA_VERBOSE=true

-ORDERER_GENERAL_TLS_ENABLED=${ENABLE_TLS}

-ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key

-ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt

-ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]

working_dir:/opt/gopath/src/github.com/hyperledger/fabric

command:/bin/bash-c'sleep 10 && orderer'

volumes:

-../channel-artifacts/genesis.block:/var/hyperledger/orderer/genesis.block

-../crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp:/var/hyperledger/orderer/msp

-../crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/:/var/hyperledger/orderer/tls

ports:

-7050:7050

orderer1.example.com:

hostname:orderer1.example.com

container_name:orderer1.example.com

image:hyperledger/fabric-orderer

environment:

-ORDERER_GENERAL_LOGLEVEL=ERROR

-ORDERER_GENERAL_LISTENADDRESS=0.0.0.0

-ORDERER_GENERAL_GENESISMETHOD=file

-ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/genesis.block

-ORDERER_GENERAL_LOCALMSPID=OrdererMSP

-ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp

-ORDERER_KAFKA_RETRY_PERIOD=3s

-ORDERER_KAFKA_RETRY_STOP=10s

# enabled TLS

-ORDERER_KAFKA_VERBOSE=true

-ORDERER_GENERAL_TLS_ENABLED=${ENABLE_TLS}

-ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key

-ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt

-ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]

working_dir:/opt/gopath/src/github.com/hyperledger/fabric

command:/bin/bash-c'sleep 10 && orderer'

volumes:

-../channel-artifacts/genesis.block:/var/hyperledger/orderer/genesis.block

-../crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/msp:/var/hyperledger/orderer/msp

-../crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/tls/:/var/hyperledger/orderer/tls

ports:

-8050:7050

orderer2.example.com:

hostname:orderer2.example.com

container_name:orderer2.example.com

image:hyperledger/fabric-orderer

environment:

-ORDERER_GENERAL_LOGLEVEL=ERROR

-ORDERER_GENERAL_LISTENADDRESS=0.0.0.0

-ORDERER_GENERAL_GENESISMETHOD=file

-ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/genesis.block

-ORDERER_GENERAL_LOCALMSPID=OrdererMSP

-ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp

# enabled TLS

-ORDERER_KAFKA_RETRY_PERIOD=3s

-ORDERER_KAFKA_RETRY_STOP=10s

-ORDERER_KAFKA_VERBOSE=true

-ORDERER_GENERAL_TLS_ENABLED=${ENABLE_TLS}

-ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key

-ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt

-ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]

working_dir:/opt/gopath/src/github.com/hyperledger/fabric

command:/bin/bash-c'sleep 10 && orderer'

volumes:

-../channel-artifacts/genesis.block:/var/hyperledger/orderer/genesis.block

-../crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp:/var/hyperledger/orderer/msp

-../crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/:/var/hyperledger/orderer/tls

ports:

-9050:7050

创建docker-compose-orderer.yaml文件:

version:'2'

networks:

byfn:

services:

orderer0.example.com:

extends:

file:docker-compose-base.yaml

service:orderer0.example.com

container_name:orderer0.example.com

depends_on:

-kafka0

networks:

-byfn

orderer1.example.com:

extends:

file:docker-compose-base.yaml

service:orderer1.example.com

container_name:orderer1.example.com

depends_on:

-kafka0

networks:

-byfn

orderer2.example.com:

extends:

file:docker-compose-base.yaml

service:orderer2.example.com

container_name:orderer2.example.com

depends_on:

-kafka0

networks:

-byfn

启动Orderer:

>$ CHANNEL_NAME=$CHANNEL_NAME TIMEOUT=60ENABLE_TLS=true docker-compose-f yaml/docker-compose-orderer.yaml up-d

Creatingorderer0.example.com...

Creatingorderer1.example.com...

Creatingorderer2.example.com...done

再看看容器,没有问题,ca,orderer都成功启动:

>$ docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

a6e078efdbc8 hyperledger/fabric-orderer"/bin/bash -c 'sle..."50seconds agoUpAbouta minute0.0.0.0:8050->7050/tcp orderer1.example.com

0d455f0d6062hyperledger/fabric-orderer"/bin/bash -c 'sle..."50seconds agoUpAbouta minute0.0.0.0:9050->7050/tcp orderer2.example.com

4245900f68f8hyperledger/fabric-orderer"/bin/bash -c 'sle..."Aboutan hour agoUpAboutan hour0.0.0.0:7050->7050/tcp orderer0.example.com

Peer

在docker-compose-base.yaml文件中追加peer节点的配置:

peer-base:

image:hyperledger/fabric-peer

environment:

-CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock

-CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_byfn

-CORE_LOGGING_LEVEL=DEBUG

-CORE_PEER_TLS_ENABLED=${ENABLE_TLS}

-CORE_PEER_ENDORSER_ENABLED=true

-CORE_PEER_GOSSIP_USELEADERELECTION=true

-CORE_PEER_GOSSIP_ORGLEADER=false

-CORE_PEER_GOSSIP_SKIPHANDSHAKE=true

-CORE_PEER_PROFILE_ENABLED=true

-CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt

-CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key

-CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt

working_dir:/opt/gopath/src/github.com/hyperledger/fabric/peer

command:bash-c'sleep 20 && peer node start --peer-defaultchain=false'

peer0.org1.example.com:

hostname:peer0.org1.example.com

container_name:peer0.org1.example.com

extends:

service:peer-base

environment:

-CORE_PEER_ID=peer0.org1.example.com

-CORE_PEER_ADDRESS=peer0.org1.example.com:7051

-CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051

-CORE_PEER_LOCALMSPID=Org1MSP

volumes:

-/var/run/:/host/var/run/

-../crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp

-../crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls

ports:

-7051:7051

-7053:7053

peer1.org1.example.com:

container_name:peer1.org1.example.com

extends:

service:peer-base

environment:

-CORE_PEER_ID=peer1.org1.example.com

-CORE_PEER_ADDRESS=peer1.org1.example.com:7051

-CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051

-CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051

-CORE_PEER_LOCALMSPID=Org1MSP

volumes:

-/var/run/:/host/var/run/

-../crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp

-../crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/fabric/tls

ports:

-8051:7051

-8053:7053

peer0.org2.example.com:

container_name:peer0.org2.example.com

extends:

service:peer-base

environment:

-CORE_PEER_ID=peer0.org2.example.com

-CORE_PEER_ADDRESS=peer0.org2.example.com:7051

-CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051

-CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051

-CORE_PEER_LOCALMSPID=Org2MSP

volumes:

-/var/run/:/host/var/run/

-../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp

-../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls

ports:

-9051:7051

-9053:7053

peer1.org2.example.com:

container_name:peer1.org2.example.com

extends:

service:peer-base

environment:

-CORE_PEER_ID=peer1.org2.example.com

-CORE_PEER_ADDRESS=peer1.org2.example.com:7051

-CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051

-CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:7051

-CORE_PEER_LOCALMSPID=Org2MSP

volumes:

-/var/run/:/host/var/run/

-../crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/fabric/msp

-../crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/fabric/tls

ports:

-10051:7051

-10053:7053

创建docker-compose-peer.yaml:

version:'2'

networks:

-byfn

services:

couchdb0:

container_name:couchdb0

image:hyperledger/fabric-couchdb

ports:

-"5984:5984"

networks:

-byfn

peer0.org1.example.com:

extends:

file:docker-compose-base.yaml

service:peer0.org1.example.com

environment:

-CORE_LEDGER_STATE_STATEDATABASE=CouchDB

-CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb0:5984

depends_on:

-couchdb0

networks:

-byfn

couchdb1:

container_name:couchdb1

image:hyperledger/fabric-couchdb

ports:

-"6984:5984"

networks:

-byfn

peer1.org1.example.com:

extends:

file:docker-compose-base.yaml

service:peer1.org1.example.com

environment:

-CORE_LEDGER_STATE_STATEDATABASE=CouchDB

-CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb1:5984

depends_on:

-couchdb1

networks:

-byfn

couchdb2:

container_name:couchdb2

image:hyperledger/fabric-couchdb

ports:

-"7984:5984"

networks:

-byfn

peer0.org2.example.com:

extends:

file:docker-compose-base.yaml

service:peer0.org2.example.com

environment:

-CORE_LEDGER_STATE_STATEDATABASE=CouchDB

-CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb2:5984

depends_on:

-couchdb2

networks:

-byfn

couchdb3:

container_name:couchdb3

image:hyperledger/fabric-couchdb

ports:

-"8984:5984"

networks:

-byfn

peer1.org2.example.com:

extends:

file:docker-compose-base.yaml

service:peer1.org2.example.com

environment:

-CORE_LEDGER_STATE_STATEDATABASE=CouchDB

-CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb3:5984

depends_on:

-couchdb3

networks:

-byfn

启动Peer节点:

>$ CHANNEL_NAME=$CHANNEL_NAME TIMEOUT=60ENABLE_TLS=true docker-compose-f yaml/docker-compose-peer.yaml up-d

Creatingcouchdb3...

Creatingcouchdb1...

Creatingcouchdb0...

Creatingcouchdb2...

Creatingcouchdb3

Creatingcouchdb1

Creatingcouchdb2

Creatingcouchdb3...done

Creatingpeer1.org2.example.com...

Creatingcouchdb1...done

Creatingpeer1.org1.example.com...

Creatingcouchdb2...done

Creatingcouchdb0...done

Creatingpeer1.org1.example.com...done

Creatingpeer0.org1.example.com...

Creatingpeer0.org2.example.com...done

查看容器状态:

>$ docker ps-a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

749acf8eebf8hyperledger/fabric-peer"bash -c 'sleep 20..."45minutes agoUpAboutan hour0.0.0.0:7051->7051/tcp,0.0.0.0:7053->7053/tcp peer0.org1.example.com

8689b9152000hyperledger/fabric-peer"bash -c 'sleep 20..."45minutes agoUp45minutes0.0.0.0:9051->7051/tcp,0.0.0.0:9053->7053/tcp peer0.org2.example.com

b16444eac623 hyperledger/fabric-peer"bash -c 'sleep 20..."45minutes agoUpAboutan hour0.0.0.0:8051->7051/tcp,0.0.0.0:8053->7053/tcp peer1.org1.example.com

f29ac84f381d hyperledger/fabric-peer"bash -c 'sleep 20..."45minutes agoUpAboutan hour0.0.0.0:10051->7051/tcp,0.0.0.0:10053->7053/tcp peer1.org2.example.com

Cli节点

我们还需要创建一个Cli客户端容器节点,方便对区块链执行一些操作。

创建文件:docker-compose-cli.yaml:

version:'2'

networks:

byfn:

services:

cli:

container_name:cli

image:hyperledger/fabric-tools

tty:true

network_mode:host

environment:

-GOPATH=/opt/gopath

-CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock

-CORE_LOGGING_LEVEL=DEBUG

-CORE_PEER_ID=cli

-CORE_PEER_ADDRESS=peer0.org1.example.com:7051

-CORE_PEER_LOCALMSPID=Org1MSP

-CORE_PEER_TLS_ENABLED=${ENABLE_TLS}

-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_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_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_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp

working_dir:/opt/gopath/src/github.com/hyperledger/fabric/peer

command:bash-c'sleep 30000000000000000000000'

volumes:

-/var/run/:/host/var/run/

-../../chaincode/:/opt/gopath/src/github.com/chaincode

-../crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/

-../scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/

-../channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts

networks:

-byfn

查看容器:

>$ docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

a6e078efdbc8 hyperledger/fabric-orderer"/bin/bash -c 'sle..."50seconds agoUpAbouta minute0.0.0.0:8050->7050/tcp orderer1.example.com

0d455f0d6062hyperledger/fabric-orderer"/bin/bash -c 'sle..."50seconds agoUpAbouta minute0.0.0.0:9050->7050/tcp orderer2.example.com

27f3688beec8hyperledger/fabric-tools"bash -c 'sleep 30..."15minutes agoUp16minutes cli

749acf8eebf8hyperledger/fabric-peer"bash -c 'sleep 20..."45minutes agoUpAboutan hour0.0.0.0:7051->7051/tcp,0.0.0.0:7053->7053/tcp peer0.org1.example.com

8689b9152000hyperledger/fabric-peer"bash -c 'sleep 20..."45minutes agoUp45minutes0.0.0.0:9051->7051/tcp,0.0.0.0:9053->7053/tcp peer0.org2.example.com

b16444eac623 hyperledger/fabric-peer"bash -c 'sleep 20..."45minutes agoUpAboutan hour0.0.0.0:8051->7051/tcp,0.0.0.0:8053->7053/tcp peer1.org1.example.com

f29ac84f381d hyperledger/fabric-peer"bash -c 'sleep 20..."45minutes agoUpAboutan hour0.0.0.0:10051->7051/tcp,0.0.0.0:10053->7053/tcp peer1.org2.example.com

32f849c44e0fhyperledger/fabric-couchdb"tini -- /docker-e..."45minutes agoUpAboutan hour4369/tcp,9100/tcp,0.0.0.0:6984->5984/tcp couchdb1

02b770dfd4edhyperledger/fabric-couchdb"tini -- /docker-e..."45minutes agoUpAboutan hour4369/tcp,9100/tcp,0.0.0.0:5984->5984/tcp couchdb0

f0c72c40c793 hyperledger/fabric-couchdb"tini -- /docker-e..."45minutes agoUpAboutan hour4369/tcp,9100/tcp,0.0.0.0:8984->5984/tcp couchdb3

2eb63e7efa08hyperledger/fabric-couchdb"tini -- /docker-e..."45minutes agoUpAboutan hour4369/tcp,9100/tcp,0.0.0.0:7984->5984/tcp couchdb2

4245900f68f8hyperledger/fabric-orderer"/bin/bash -c 'sle..."Aboutan hour agoUpAboutan hour0.0.0.0:7050->7050/tcp orderer0.example.com

faf06e00031a hyperledger/fabric-ca"sh -c 'fabric-ca-..."Aboutan hour agoUpAboutan hour0.0.0.0:8054->7054/tcp ca_peerOrg2

496e8e0a7df6hyperledger/fabric-ca"sh -c 'fabric-ca-..."Aboutan hour agoUpAboutan hour0.0.0.0:7054->7054/tcp ca_peerOrg1

总结

到此,我们已经成功启动了网络中的所有节点,下一章将会在这些节点中运行我们的区块链~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180201G0IHQN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券