建立网站需要备案吗上海网站建设公司招聘
web/
2025/9/29 13:00:58/
文章来源:
建立网站需要备案吗,上海网站建设公司招聘,wordpress数据恢复,怎么采集网站内容背景
分析Fabric网络的启动日志可以帮我们理解搭建区块链网络的过程。本文对输出日志进行详细的分析。
启动网络与创建通道
# verbose 可以输出更详细的日志。
./network.sh up createChannel -verbose# 使用本机安装的docker and docker-compose
Using docker and docker-c…背景
分析Fabric网络的启动日志可以帮我们理解搭建区块链网络的过程。本文对输出日志进行详细的分析。
启动网络与创建通道
# verbose 可以输出更详细的日志。
./network.sh up createChannel -verbose# 使用本机安装的docker and docker-compose
Using docker and docker-compose
Creating channel mychannel.
If network is not up, starting nodes with CLI timeout of 5 tries and CLI delay of 3 seconds and using database leveldb with crypto from cryptogen
Bringing up network
# 启动的Fabric版本
LOCAL_VERSIONv2.5.5
DOCKER_IMAGE_VERSIONv2.5.5
# 使用cryptogen创建证书材料相较于ca更简单配置文件在./organizations/cryptogen中如果我们要修改节点数量可以去修改配置文件。
/home/real/project/fabric-samples/test-network/../bin/cryptogen
Generating certificates using cryptogen tool
Creating Org1 Identities
# 日志中输出的命令使用了set -x结果是命令前会加 ,res0代表脚本运行无异常。cryptogen generate --config./organizations/cryptogen/crypto-config-org1.yaml --outputorganizations
org1.example.comres0
Creating Org2 Identitiescryptogen generate --config./organizations/cryptogen/crypto-config-org2.yaml --outputorganizations
org2.example.comres0
Creating Orderer Org Identitiescryptogen generate --config./organizations/cryptogen/crypto-config-orderer.yaml --outputorganizationsres0#创建连接配置文件connection.json可用于连接区块链网络
Generating CCP files for Org1 and Org2
# 启动区块链网络先是启动Docker网络然后创建容器的卷最后启动节点。
[] Running 8/8⠿ Network fabric_test Created 0.4s⠿ Volume compose_orderer.example.com Created 0.0s⠿ Volume compose_peer0.org1.example.com Created 0.0s⠿ Volume compose_peer0.org2.example.com Created 0.0s⠿ Container peer0.org2.example.com Started 4.9s⠿ Container peer0.org1.example.com Started 4.0s⠿ Container orderer.example.com Started 3.8s⠿ Container cli Started 11.2s# 查看容器的运行状态0.0.0.0:7050-7050/tcp代表了本机的7050端口映射到了容器内部的7050端口我们可以通过端口与节点通信。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
992e8d8d5e30 hyperledger/fabric-tools:latest /bin/bash 12 seconds ago Up Less than a second cli
1370216ab0c4 hyperledger/fabric-orderer:latest orderer 12 seconds ago Up 7 seconds 0.0.0.0:7050-7050/tcp, :::7050-7050/tcp, 0.0.0.0:7053-7053/tcp, :::7053-7053/tcp, 0.0.0.0:9443-9443/tcp, :::9443-9443/tcp orderer.example.com
f1c2301c3448 hyperledger/fabric-peer:latest peer node start 12 seconds ago Up 7 seconds 0.0.0.0:7051-7051/tcp, :::7051-7051/tcp, 0.0.0.0:9444-9444/tcp, :::9444-9444/tcp peer0.org1.example.com
4f26366203bc hyperledger/fabric-peer:latest peer node start 12 seconds ago Up 6 seconds 0.0.0.0:9051-9051/tcp, :::9051-9051/tcp, 7051/tcp, 0.0.0.0:9445-9445/tcp, :::9445-9445/tcp peer0.org2.example.com
Using docker and docker-compose
# 创建mychannel的创世区块
Generating channel genesis block mychannel.block
Using organization 1
CORE_PEER_LOCALMSPIDOrg1MSP
CORE_PEER_ADDRESSlocalhost:7051
CORE_PEER_TLS_ROOTCERT_FILE/home/real/project/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem
CORE_PEER_MSPCONFIGPATH/home/real/project/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/users/Adminorg1.example.com/msp
CORE_PEER_TLS_ENABLEDtrue
/home/real/project/fabric-samples/test-network/../bin/configtxgen[ 0 -eq 1 ]
# 默认使用的共识算法是Raftconfigtxgen -profile ChannelUsingRaft -outputBlock ./channel-artifacts/mychannel.block -channelID mychannel
2024-02-19 10:38:18.428 CST 0001 INFO [common.tools.configtxgen] main - Loading configuration
2024-02-19 10:38:18.435 CST 0002 INFO [common.tools.configtxgen.localconfig] completeInitialization - orderer type: etcdraft
2024-02-19 10:38:18.436 CST 0003 INFO [common.tools.configtxgen.localconfig] completeInitialization - Orderer.EtcdRaft.Options unset, setting to tick_interval:500ms election_tick:10 heartbeat_tick:1 max_inflight_blocks:5 snapshot_interval_size:16777216
2024-02-19 10:38:18.437 CST 0004 INFO [common.tools.configtxgen.localconfig] Load - Loaded configuration: /home/real/project/fabric-samples/test-network/configtx/configtx.yaml
2024-02-19 10:38:18.464 CST 0005 INFO [common.tools.configtxgen] doOutputBlock - Generating genesis block
2024-02-19 10:38:18.465 CST 0006 INFO [common.tools.configtxgen] doOutputBlock - Creating application channel genesis block
2024-02-19 10:38:18.466 CST 0007 INFO [common.tools.configtxgen] doOutputBlock - Writing genesis blockres0
Creating channel mychannel
# order节点加入通道如果通过不存在则会创建通道
Adding orderers. scripts/orderer.sh mychannel[ 0 -eq 1 ]res0
Status: 201
{name: mychannel,url: /participation/v1/channels/mychannel,consensusRelation: consenter,status: active,height: 1
}Channel mychannel created
# 两个组织的peer节点加入通道
Joining org1 peer to the channel...
Using organization 1
CORE_PEER_LOCALMSPIDOrg1MSP
CORE_PEER_ADDRESSlocalhost:7051
CORE_PEER_TLS_ROOTCERT_FILE/home/real/project/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem
CORE_PEER_MSPCONFIGPATH/home/real/project/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/users/Adminorg1.example.com/msp
CORE_PEER_TLS_ENABLEDtruepeer channel join -b ./channel-artifacts/mychannel.blockres0
2024-02-19 10:38:24.878 CST 0001 INFO [channelCmd] InitCmdFactory - Endorser and orderer connections initialized
2024-02-19 10:38:24.941 CST 0002 INFO [channelCmd] executeJoin - Successfully submitted proposal to join channel
Joining org2 peer to the channel...
Using organization 2
CORE_PEER_LOCALMSPIDOrg2MSP
CORE_PEER_ADDRESSlocalhost:9051
CORE_PEER_TLS_ROOTCERT_FILE/home/real/project/fabric-samples/test-network/organizations/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem
CORE_PEER_MSPCONFIGPATH/home/real/project/fabric-samples/test-network/organizations/peerOrganizations/org2.example.com/users/Adminorg2.example.com/msp
CORE_PEER_TLS_ENABLEDtruepeer channel join -b ./channel-artifacts/mychannel.blockres0
2024-02-19 10:38:28.110 CST 0001 INFO [channelCmd] InitCmdFactory - Endorser and orderer connections initialized
2024-02-19 10:38:28.180 CST 0002 INFO [channelCmd] executeJoin - Successfully submitted proposal to join channel
Setting anchor peer for org1...
# 设置锚节点更新通道配置 详细可以参考https://hyperledger-fabric.readthedocs.io/zh-cn/latest/config_update.htmlpeer channel fetch config config_block.pb -o orderer.example.com:7050 --ordererTLSHostnameOverride orderer.example.com -c mychannel --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/organizations/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem
Using organization 1
Fetching channel config for channel mychannel
Using organization 1
Fetching the most recent configuration block for the channel
2024-02-19 02:38:28.650 UTC 0001 INFO [channelCmd] InitCmdFactory - Endorser and orderer connections initialized
2024-02-19 02:38:28.662 UTC 0002 INFO [cli.common] readBlock - Received block: 0
2024-02-19 02:38:28.663 UTC 0003 INFO [channelCmd] fetch - Retrieving last config block: 0
2024-02-19 02:38:28.667 UTC 0004 INFO [cli.common] readBlock - Received block: 0configtxlator proto_decode --input config_block.pb --type common.Block --output config_block.json
Decoding config block to JSON and isolating config to Org1MSPconfig.jsonjq .data.data[0].payload.data.config config_block.json
Generating anchor peer update transaction for Org1 on channel mychanneljq .channel_group.groups.Application.groups.Org1MSP.values {AnchorPeers:{mod_policy: Admins,value:{anchor_peers: [{host: peer0.org1.example.com,port: 7051}]},version: 0}} Org1MSPconfig.jsonconfigtxlator proto_encode --input Org1MSPconfig.json --type common.Config --output original_config.pbconfigtxlator proto_encode --input Org1MSPmodified_config.json --type common.Config --output modified_config.pbconfigtxlator compute_update --channel_id mychannel --original original_config.pb --updated modified_config.pb --output config_update.pbconfigtxlator proto_decode --input config_update.pb --type common.ConfigUpdate --output config_update.jsonjq .cat config_update.jsonecho {payload:{header:{channel_header:{channel_id:mychannel, type:2}},data:{config_update:{ channel_id: mychannel, isolated_data: {}, read_set: { groups: { Application: { groups: { Org1MSP: { groups: {}, mod_policy: , policies: { Admins: { mod_policy: , policy: null, version: 0 }, Endorsement: { mod_policy: , policy: null, version: 0 }, Readers: { mod_policy: , policy: null, version: 0 }, Writers: { mod_policy: , policy: null, version: 0 } }, values: { MSP: { mod_policy: , value: null, version: 0 } }, version: 0 } }, mod_policy: , policies: {}, values: {}, version: 0 } }, mod_policy: , policies: {}, values: {}, version: 0 }, write_set: { groups: { Application: { groups: { Org1MSP: { groups: {}, mod_policy: Admins, policies: { Admins: { mod_policy: , policy: null, version: 0 }, Endorsement: { mod_policy: , policy: null, version: 0 }, Readers: { mod_policy: , policy: null, version: 0 }, Writers: { mod_policy: , policy: null, version: 0 } }, values: { AnchorPeers: { mod_policy: Admins, value: { anchor_peers: [ { host: peer0.org1.example.com, port: 7051 } ] }, version: 0 }, MSP: { mod_policy: , value: null, version: 0 } }, version: 1 } }, mod_policy: , policies: {}, values: {}, version: 0 } }, mod_policy: , policies: {}, values: {}, version: 0 } }}}}configtxlator proto_encode --input config_update_in_envelope.json --type common.Envelope --output Org1MSPanchors.tx
2024-02-19 02:38:29.404 UTC 0001 INFO [channelCmd] InitCmdFactory - Endorser and orderer connections initialized
2024-02-19 02:38:29.430 UTC 0002 INFO [channelCmd] update - Successfully submitted channel update
Anchor peer set for org Org1MSP on channel mychannel
# 同样方式设置org2的锚节点
Setting anchor peer for org2...
Using organization 2
Fetching channel config for channel mychannel
Using organization 2
Fetching the most recent configuration block for the channelpeer channel fetch config config_block.pb -o orderer.example.com:7050 --ordererTLSHostnameOverride orderer.example.com -c mychannel --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/organizations/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem
2024-02-19 02:38:29.952 UTC 0001 INFO [channelCmd] InitCmdFactory - Endorser and orderer connections initialized
2024-02-19 02:38:29.964 UTC 0002 INFO [cli.common] readBlock - Received block: 1
2024-02-19 02:38:29.964 UTC 0003 INFO [channelCmd] fetch - Retrieving last config block: 1
2024-02-19 02:38:29.970 UTC 0004 INFO [cli.common] readBlock - Received block: 1
Decoding config block to JSON and isolating config to Org2MSPconfig.jsonconfigtxlator proto_decode --input config_block.pb --type common.Block --output config_block.jsonjq .data.data[0].payload.data.config config_block.json
Generating anchor peer update transaction for Org2 on channel mychanneljq .channel_group.groups.Application.groups.Org2MSP.values {AnchorPeers:{mod_policy: Admins,value:{anchor_peers: [{host: peer0.org2.example.com,port: 9051}]},version: 0}} Org2MSPconfig.jsonconfigtxlator proto_encode --input Org2MSPconfig.json --type common.Config --output original_config.pbconfigtxlator proto_encode --input Org2MSPmodified_config.json --type common.Config --output modified_config.pbconfigtxlator compute_update --channel_id mychannel --original original_config.pb --updated modified_config.pb --output config_update.pbconfigtxlator proto_decode --input config_update.pb --type common.ConfigUpdate --output config_update.jsonjq .cat config_update.jsonecho {payload:{header:{channel_header:{channel_id:mychannel, type:2}},data:{config_update:{ channel_id: mychannel, isolated_data: {}, read_set: { groups: { Application: { groups: { Org2MSP: { groups: {}, mod_policy: , policies: { Admins: { mod_policy: , policy: null, version: 0 }, Endorsement: { mod_policy: , policy: null, version: 0 }, Readers: { mod_policy: , policy: null, version: 0 }, Writers: { mod_policy: , policy: null, version: 0 } }, values: { MSP: { mod_policy: , value: null, version: 0 } }, version: 0 } }, mod_policy: , policies: {}, values: {}, version: 0 } }, mod_policy: , policies: {}, values: {}, version: 0 }, write_set: { groups: { Application: { groups: { Org2MSP: { groups: {}, mod_policy: Admins, policies: { Admins: { mod_policy: , policy: null, version: 0 }, Endorsement: { mod_policy: , policy: null, version: 0 }, Readers: { mod_policy: , policy: null, version: 0 }, Writers: { mod_policy: , policy: null, version: 0 } }, values: { AnchorPeers: { mod_policy: Admins, value: { anchor_peers: [ { host: peer0.org2.example.com, port: 9051 } ] }, version: 0 }, MSP: { mod_policy: , value: null, version: 0 } }, version: 1 } }, mod_policy: , policies: {}, values: {}, version: 0 } }, mod_policy: , policies: {}, values: {}, version: 0 } }}}}configtxlator proto_encode --input config_update_in_envelope.json --type common.Envelope --output Org2MSPanchors.tx
2024-02-19 02:38:30.617 UTC 0001 INFO [channelCmd] InitCmdFactory - Endorser and orderer connections initialized
2024-02-19 02:38:30.650 UTC 0002 INFO [channelCmd] update - Successfully submitted channel update
Anchor peer set for org Org2MSP on channel mychannel
# 通道创建完成
Channel mychannel joined安装链码 链码的生命周期https://hyperledger-fabric.readthedocs.io/en/release-2.5/chaincode_lifecycle.html Using docker and docker-compose
# 在mychannel上部署链码
deploying chaincode on channel mychannel
# 链码的信息
executing with the following
- CHANNEL_NAME: mychannel
- CC_NAME: basic
- CC_SRC_PATH: ../asset-transfer-basic/chaincode-go/
- CC_SRC_LANGUAGE: go
- CC_VERSION: 1.0.1
- CC_SEQUENCE: auto
- CC_END_POLICY: NA
- CC_COLL_CONFIG: NA
- CC_INIT_FCN: NA
- DELAY: 3
- MAX_RETRY: 5
- VERBOSE: false
executing with the following
- CC_NAME: basic
- CC_SRC_PATH: ../asset-transfer-basic/chaincode-go/
- CC_SRC_LANGUAGE: go
- CC_VERSION: 1.0.1
# 将链码依赖的外部包复制到项目根目录下的 vendor 目录中
Vendoring Go dependencies at ../asset-transfer-basic/chaincode-go/
~/project/fabric-samples/asset-transfer-basic/chaincode-go ~/project/fabric-samples/test-network
~/project/fabric-samples/test-network
Finished vendoring Go dependencies[ false true ]
# 将链码打包peer lifecycle chaincode package basic.tar.gz --path ../asset-transfer-basic/chaincode-go/ --lang golang --label basic_1.0.1res0
Chaincode is packaged
# 在peer0.org1上安装链码
Installing chaincode on peer0.org1...
Using organization 1peer lifecycle chaincode queryinstalled --output jsonjq -r try (.installed_chaincodes[].package_id)grep ^basic_1.0.1:47d9190a6fc27edcbef163a7ff3058851c35a7cf1a6d6fcabcb0ed9d925695fc$test 1 -ne 0peer lifecycle chaincode install basic.tar.gzres0
2024-02-19 10:44:54.109 CST 0001 INFO [cli.lifecycle.chaincode] submitInstallProposal - Installed remotely: response:status:200 payload:\nLbasic_1.0.1:47d9190a6fc27edcbef163a7ff3058851c35a7cf1a6d6fcabcb0ed9d925695fc\022\013basic_1.0.1
2024-02-19 10:44:54.121 CST 0002 INFO [cli.lifecycle.chaincode] submitInstallProposal - Chaincode code package identifier: basic_1.0.1:47d9190a6fc27edcbef163a7ff3058851c35a7cf1a6d6fcabcb0ed9d925695fc
Chaincode is installed on peer0.org1
# 在peer0.org2上安装链码
Install chaincode on peer0.org2...
Using organization 2peer lifecycle chaincode queryinstalled --output jsonjq -r try (.installed_chaincodes[].package_id)grep ^basic_1.0.1:47d9190a6fc27edcbef163a7ff3058851c35a7cf1a6d6fcabcb0ed9d925695fc$test 1 -ne 0peer lifecycle chaincode install basic.tar.gzres0
2024-02-19 10:46:08.629 CST 0001 INFO [cli.lifecycle.chaincode] submitInstallProposal - Installed remotely: response:status:200 payload:\nLbasic_1.0.1:47d9190a6fc27edcbef163a7ff3058851c35a7cf1a6d6fcabcb0ed9d925695fc\022\013basic_1.0.1
2024-02-19 10:46:08.630 CST 0002 INFO [cli.lifecycle.chaincode] submitInstallProposal - Chaincode code package identifier: basic_1.0.1:47d9190a6fc27edcbef163a7ff3058851c35a7cf1a6d6fcabcb0ed9d925695fc
Chaincode is installed on peer0.org2peer lifecycle chaincode querycommitted --channelID mychannel --name basicsed -n /Version:/{s/.*Sequence: //; s/, Endorsement Plugin:.*$//; p;}
Error: query failed with status: 404 - namespace basic is not definedCOMMITTED_CC_SEQUENCEres0
Using organization 1peer lifecycle chaincode queryinstalled --output jsonjq -r try (.installed_chaincodes[].package_id)grep ^basic_1.0.1:47d9190a6fc27edcbef163a7ff3058851c35a7cf1a6d6fcabcb0ed9d925695fc$res0
basic_1.0.1:47d9190a6fc27edcbef163a7ff3058851c35a7cf1a6d6fcabcb0ed9d925695fc
Query installed successful on peer0.org1 on channel
Using organization 1
# 批准链码peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile /home/real/project/fabric-samples/test-network/organizations/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem --channelID mychannel --name basic --version 1.0.1 --package-id basic_1.0.1:47d9190a6fc27edcbef163a7ff3058851c35a7cf1a6d6fcabcb0ed9d925695fc --sequence 1res0
2024-02-19 10:46:11.491 CST 0001 INFO [chaincodeCmd] ClientWait - txid [c2c32a622a7d34097918df2a19745e591a3f46fafbf266188f94998ae5b65523] committed with status (VALID) at localhost:7051
Chaincode definition approved on peer0.org1 on channel mychannel
Using organization 1
Checking the commit readiness of the chaincode definition on peer0.org1 on channel mychannel...
Attempting to check the commit readiness of the chaincode definition on peer0.org1, Retry after 3 seconds.peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name basic --version 1.0.1 --sequence 1 --output jsonres0
{approvals: {Org1MSP: true,Org2MSP: false}
}
Checking the commit readiness of the chaincode definition successful on peer0.org1 on channel mychannel
Using organization 2
Checking the commit readiness of the chaincode definition on peer0.org2 on channel mychannel...
Attempting to check the commit readiness of the chaincode definition on peer0.org2, Retry after 3 seconds.peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name basic --version 1.0.1 --sequence 1 --output jsonres0
{approvals: {Org1MSP: true,Org2MSP: false}
}
Checking the commit readiness of the chaincode definition successful on peer0.org2 on channel mychannel
Using organization 2
# 在org2上批准链码peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile /home/real/project/fabric-samples/test-network/organizations/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem --channelID mychannel --name basic --version 1.0.1 --package-id basic_1.0.1:47d9190a6fc27edcbef163a7ff3058851c35a7cf1a6d6fcabcb0ed9d925695fc --sequence 1res0
2024-02-19 10:46:20.189 CST 0001 INFO [chaincodeCmd] ClientWait - txid [badf93e5bfe9c9fabafb5d233e2d33370a7890c8293c7fbf476eaf152ecacefe] committed with status (VALID) at localhost:9051
Chaincode definition approved on peer0.org2 on channel mychannel
Using organization 1
Checking the commit readiness of the chaincode definition on peer0.org1 on channel mychannel...
Attempting to check the commit readiness of the chaincode definition on peer0.org1, Retry after 3 seconds.peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name basic --version 1.0.1 --sequence 1 --output jsonres0
{approvals: {Org1MSP: true,Org2MSP: true}
}
Checking the commit readiness of the chaincode definition successful on peer0.org1 on channel mychannel
Using organization 2
Checking the commit readiness of the chaincode definition on peer0.org2 on channel mychannel...
Attempting to check the commit readiness of the chaincode definition on peer0.org2, Retry after 3 seconds.peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name basic --version 1.0.1 --sequence 1 --output jsonres0
{approvals: {Org1MSP: true,Org2MSP: true}
}
Checking the commit readiness of the chaincode definition successful on peer0.org2 on channel mychannel
Using organization 1
Using organization 2
# 提交链码定义peer lifecycle chaincode commit -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile /home/real/project/fabric-samples/test-network/organizations/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem --channelID mychannel --name basic --peerAddresses localhost:7051 --tlsRootCertFiles /home/real/project/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem --peerAddresses localhost:9051 --tlsRootCertFiles /home/real/project/fabric-samples/test-network/organizations/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem --version 1.0.1 --sequence 1res0
2024-02-19 10:46:29.117 CST 0001 INFO [chaincodeCmd] ClientWait - txid [0cc2d54bea837c4bb8cbe3ac958c0254147c1e5cfb0bfd64bac3d17d9664a518] committed with status (VALID) at localhost:7051
2024-02-19 10:46:29.248 CST 0002 INFO [chaincodeCmd] ClientWait - txid [0cc2d54bea837c4bb8cbe3ac958c0254147c1e5cfb0bfd64bac3d17d9664a518] committed with status (VALID) at localhost:9051
Chaincode definition committed on channel mychannel
Using organization 1
Querying chaincode definition on peer0.org1 on channel mychannel...
Attempting to Query committed status on peer0.org1, Retry after 3 seconds.peer lifecycle chaincode querycommitted --channelID mychannel --name basicres0
Committed chaincode definition for chaincode basic on channel mychannel:
Version: 1.0.1, Sequence: 1, Endorsement Plugin: escc, Validation Plugin: vscc, Approvals: [Org1MSP: true, Org2MSP: true]
Query chaincode definition successful on peer0.org1 on channel mychannel
Using organization 2
Querying chaincode definition on peer0.org2 on channel mychannel...
Attempting to Query committed status on peer0.org2, Retry after 3 seconds.peer lifecycle chaincode querycommitted --channelID mychannel --name basicres0
Committed chaincode definition for chaincode basic on channel mychannel:
Version: 1.0.1, Sequence: 1, Endorsement Plugin: escc, Validation Plugin: vscc, Approvals: [Org1MSP: true, Org2MSP: true]
Query chaincode definition successful on peer0.org2 on channel mychannel
# 链码初始化完成
Chaincode initialization is not required
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83911.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!