区块链hyperledger fabric 环境搭建 centos7 docker环境
2017-03-03 09:22
796 查看
运行环境Centos7 64位
1. centos docker 安装
yum -y install docker-io
2. 启动docker服务
启动:service docker start
开机自启动:chkconfig docker on
查看docker版本:docker version
3. .安装容器Compose:
查看版本号,如果安装成功会显示版本信息:
docker-compose version
4.docker pull
mkdir /opt/fabric
cd /opt/fabric/
docker pullyeasy/hyperledger-fabric:0.6-dp #拉取镜像
docker tag yeasy/hyperledger-fabric:0.6-dphyperledger/fabric-peer:latest #给镜像加标记
docker tag yeasy/hyperledger-fabric:0.6-dp hyperledger/fabric-baseimage:latest
docker tag yeasy/hyperledger-fabric:0.6-dp hyperledger/fabric-membersrvc:latest
在工作目录下创建
内容如下:
membersrvc:
image: hyperledger/fabric-membersrvc
ports:
- "7054:7054"
command: membersrvc
vp0:
image: hyperledger/fabric-peer
ports:
- "7050:7050"
- "7051:7051"
- "7053:7053"
environment:
- CORE_PEER_ADDRESSAUTODETECT=true
- CORE_VM_ENDPOINT=unix:///var/run/docker.sock
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_ID=vp0
- CORE_PEER_PKI_ECA_PADDR=membersrvc:7054
- CORE_PEER_PKI_TCA_PADDR=membersrvc:7054
- CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054
- CORE_SECURITY_ENABLED=true
- CORE_SECURITY_ENROLLID=test_vp0
- CORE_SECURITY_ENROLLSECRET=MwYpmSRjupbT
links:
- membersrvc
command: sh -c "sleep 5; peer node start --peer-chaincodedev"
docker-compose up -d
查看运行的镜像
docker ps
进入docker
如下图红框中返回了chaincode的名称hash值,就表示区域链已经建立成功了!下面可以通过CLI或POST方式进行测试与验证。
编译代码cd $GOPATH/src/github.com/hyperledger/fabric/examples/chaincode/gocp chaincode_example02/chaincode_example02.go $GOPATH/src/ #复制目录里面的例2到$GOPATH/src/ 进行编译cd $GOPATH/src/go build ./chaincode_example02.go #编译成功会在GOPATH/src目录生成chaincode_example02文件(chaincode_example02.go 源码链接https://raw.githubusercontent.com/hyperledger/fabric/master/examples/chaincode/go/chaincode_example02/chaincode_example02.go)
b)发布chaincode在GOPATH/src 下运行CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS=0.0.0.0:7051 ./chaincode_example02
直至出现“Received REGISTERED”字样,代表成功。
区块链测试:
我用的是火狐浏览器安装的restclient插件
1. 登录
post http://192.168.0.79:7050/registrar
{
"enrollId": "jim",
"enrollSecret": "6avZQLwcUe9b"
}
2. deploy(部署)
post http://192.168.0.79:7050/chaincode
{
"jsonrpc": "2.0",
"method": "deploy",
"params": {
"type": 1,
"chaincodeID":{
"name":" mycc"
},
"ctorMsg": {
"function":"init",
"args":["a", "1000","b", "2000"]
},
"secureContext": "jim"
},
"id": 1
}
3. Invoke(调用)
post http://192.168.0.79:7050/chaincode
{
"jsonrpc": "2.0",
"method": "invoke",
"params": {
"type": 1,
"chaincodeID": {
"name": "mycc"
},
"ctorMsg": {
"function": "invoke",
"args": [
"a",
"b",
"100"
]
},
"secureContext": "jim"
},
"id": 3
}
区域信息查询
Rest方式(GET HOST:7050/chain/blocks/1):
HOST:7050/chain/blocks/0 是创世区块
HOST:7050/chain/blocks/1 第一个区块,是depoy部署时建立的
HOST:7050/chain/blocks/2 第二个区块,是invoke调用交易时建立的
在镜像内退出到外面而不关闭镜像:
ctrl+p+q
关闭docker
docker stop dockername
注意:如果以上操作出现莫名其妙的问题,先采用简单粗暴的方法重启宿主机,如果不能解决,在想其他办法。
1. centos docker 安装
yum -y install docker-io
2. 启动docker服务
启动:service docker start
开机自启动:chkconfig docker on
查看docker版本:docker version
3. .安装容器Compose:
curl -L https://github.com/docker/compose/releases/download/1.11.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
查看版本号,如果安装成功会显示版本信息:
docker-compose version
4.docker pull
mkdir /opt/fabric
cd /opt/fabric/
docker pullyeasy/hyperledger-fabric:0.6-dp #拉取镜像
docker tag yeasy/hyperledger-fabric:0.6-dphyperledger/fabric-peer:latest #给镜像加标记
docker tag yeasy/hyperledger-fabric:0.6-dp hyperledger/fabric-baseimage:latest
docker tag yeasy/hyperledger-fabric:0.6-dp hyperledger/fabric-membersrvc:latest
在工作目录下创建
docker-compose.yml
内容如下:
membersrvc:
image: hyperledger/fabric-membersrvc
ports:
- "7054:7054"
command: membersrvc
vp0:
image: hyperledger/fabric-peer
ports:
- "7050:7050"
- "7051:7051"
- "7053:7053"
environment:
- CORE_PEER_ADDRESSAUTODETECT=true
- CORE_VM_ENDPOINT=unix:///var/run/docker.sock
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_ID=vp0
- CORE_PEER_PKI_ECA_PADDR=membersrvc:7054
- CORE_PEER_PKI_TCA_PADDR=membersrvc:7054
- CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054
- CORE_SECURITY_ENABLED=true
- CORE_SECURITY_ENROLLID=test_vp0
- CORE_SECURITY_ENROLLSECRET=MwYpmSRjupbT
links:
- membersrvc
command: sh -c "sleep 5; peer node start --peer-chaincodedev"
运行compose镜像
docker-compose up -d
查看运行的镜像
docker ps
进入docker
docker-compose exec dockername bash
peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'
(参数注释 -p:指定chaincode源码路径;-c:要执行的JSON格式shaincode代码)
如下图红框中返回了chaincode的名称hash值,就表示区域链已经建立成功了!下面可以通过CLI或POST方式进行测试与验证。
编译代码cd $GOPATH/src/github.com/hyperledger/fabric/examples/chaincode/gocp chaincode_example02/chaincode_example02.go $GOPATH/src/ #复制目录里面的例2到$GOPATH/src/ 进行编译cd $GOPATH/src/go build ./chaincode_example02.go #编译成功会在GOPATH/src目录生成chaincode_example02文件(chaincode_example02.go 源码链接https://raw.githubusercontent.com/hyperledger/fabric/master/examples/chaincode/go/chaincode_example02/chaincode_example02.go)
b)发布chaincode在GOPATH/src 下运行CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS=0.0.0.0:7051 ./chaincode_example02
直至出现“Received REGISTERED”字样,代表成功。
区块链测试:
我用的是火狐浏览器安装的restclient插件
1. 登录
post http://192.168.0.79:7050/registrar
{
"enrollId": "jim",
"enrollSecret": "6avZQLwcUe9b"
}
2. deploy(部署)
post http://192.168.0.79:7050/chaincode
{
"jsonrpc": "2.0",
"method": "deploy",
"params": {
"type": 1,
"chaincodeID":{
"name":" mycc"
},
"ctorMsg": {
"function":"init",
"args":["a", "1000","b", "2000"]
},
"secureContext": "jim"
},
"id": 1
}
3. Invoke(调用)
post http://192.168.0.79:7050/chaincode
{
"jsonrpc": "2.0",
"method": "invoke",
"params": {
"type": 1,
"chaincodeID": {
"name": "mycc"
},
"ctorMsg": {
"function": "invoke",
"args": [
"a",
"b",
"100"
]
},
"secureContext": "jim"
},
"id": 3
}
区域信息查询
Rest方式(GET HOST:7050/chain/blocks/1):
HOST:7050/chain/blocks/0 是创世区块
HOST:7050/chain/blocks/1 第一个区块,是depoy部署时建立的
HOST:7050/chain/blocks/2 第二个区块,是invoke调用交易时建立的
在镜像内退出到外面而不关闭镜像:
ctrl+p+q
关闭docker
docker stop dockername
注意:如果以上操作出现莫名其妙的问题,先采用简单粗暴的方法重启宿主机,如果不能解决,在想其他办法。
相关文章推荐
- (附) Hyperledger Fabric在CentOS 7.2 64位系统开发环境搭建——docker无法使用 解决方法
- 区块链、Hyperledger-Fabric框架Win10环境搭建
- (一) Hyperledger Fabric在CentOS 7.2 64位下 开发与运行环境搭建
- 区块链之Hyperledger(超级账本)Fabric v1.0 的环境搭建(超详细教程)
- Hyperledger Fabric V1.0 学习笔记(一) Centos 7中的环境搭建
- 区块链 hyperledger fabric1.0 环境搭建
- Ubuntu16.04搭建Hyperledger Fabric 1.0.5开发环境
- 快速搭建一个Hyperledger Fabric 1.0的环境(目前很多环境搭建方法都会中途挂掉,这个亲测有效!)
- 【推荐】 HyperLedger Fabric环境搭建、测试及注意事项 [详尽指导] [亲测有效]
- windows 搭建 IBM Hyperledger Fabric(超级账本)开发环境
- IBM Hyperledger Fabric 开发环境搭建(windows环境)
- 在window下搭建即时即用的hyperledger fabric 的环境
- Hyperledger fabric mac 环境搭建 001
- Java为Hyperledger Fabric(超级账本)开发区块链链代码智能合约之环境部署
- 在 hyperledger fabric 新增 User后重新编译 Docker 开发环境所需 Images
- CentOS上搭建Hyperledger Fabric0.6
- Ubuntu16.04搭建Hyperledger Fabric 1.0.5开发环境
- Hyperledger Fabric 1.0 实战开发系列 第二课 Fabric环境搭建
- Hyperledger Fabric 开发环境搭建
- Hyperledger Fabric开发环境与运行环境的搭建