腾讯云ubuntu16.04启动basic-network并安装自定义链码

启动网络前,清除现有docker镜像及容器,以及数据卷

# 查看所有容器
$ docker ps -a
# 停止所有容器
$ docker stop $(docker ps -aq)
# 删除所有容器(添加-v删除容器的同时删除数据卷)
$ docker rm -v $(docker ps -aq)

启动basic-network

$ cd fabric-samples/basic-network
$ ./start.sh

这里是使用docker-compose -f docker-compose.yml up -d ca.example.com orderer.example.com peer0.org1.example.com couchdb命令,在docker中启动ca、orderer、peer0.org1、couchdb4个容器。

# 查看运行中的容器
$ docker ps

然后运行docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/[email protected]/msp" peer0.org1.example.com peer channel create -o orderer.example.com:7050 -c mychannel -f /etc/hyperledger/configtx/channel.tx创建通道。
再运行docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/[email protected]/msp" peer0.org1.example.com peer channel join -b mychannel.block将peer0.org1节点加入到通道中。
以上4个镜像组成了docker network,它的名字叫net_basic,使用以下命令可以查看网络详情。

$ docker network inspect net_basic

使用screen工具,新建logsout视窗,使用logsout工具监视net_basic网络

$ screen -S logsout
$ cd commercial-paper/organization/magnetocorp/configuration/cli/
$ ./monitordocker.sh net_basic

使用fabric-tools,安装实例化链码

$ cd commercial-paper/organization/magnetocorp/configuration/cli/
# 在docker生成cli镜像
$ docker-compose -f docker-compose.yml up -d cliMagnetoCorp

commercial-paper/organization/magnetocorp/configuration/cli/docker-compose.yml volumes的配置上可以看出,智能合约的文件夹放在以下目录fabric-samples/commercial-paper/organization/magnetocorp
使用工具,将自己编写的智能合约放置在该目录下。

/magnetocorp/patent
├── v1.0
│   └── patent.go
└── v1.1
    └── patent.go

安装智能合约

$ docker exec cliMagnetoCorp peer chaincode install -n patent -v 1.1 -p github.com/patent/v1.1 -l golang
[chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
[chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
[chaincodeCmd] install -> INFO 003 Installed remotely response:

实例化智能合约

$ docker exec cliMagnetoCorp peer chaincode instantiate -n patent -v 1.1 -l golang -c '{"Args":[]} ' -C mychannel -P "AND ('Org1MSP.member')"
[chaincodeCmd] InitCmdFactory -> INFO 001 Retrieved channel (mychannel) orderer endpoint: orderer.example.com:7050
[chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default escc
[chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default vscc

运行docker ps后,出现以下容器就代表智能合约安装成功

dev-peer0.org1.example.com-patent-1.1-5b5766...

你可能感兴趣的:(腾讯云ubuntu16.04启动basic-network并安装自定义链码)