超级账本centos 7.3 单服务器部署fabric

区块链单服务器多节点
系统环境
    centos 7.3

需要的软件
    docker
    docker-compose
    fabric
    go
    git

docker 安装
    curl -fsSL get.docker.com -o get-docker.sh |sh 
    如果yum里有新的直接yum  -y install docker
    docker -v

docker-compose 安装
    先安装pip
    yum -y install python-devel gcc* python-pip
    或者下载安装包安装
    更新到最新版本
    python -m pip install --upgrade pip
    pip install docker-compose
    docker-compose -v
    
go 安装
    curl -O https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
    tar -C /usr/local -xzf go1.8.3linux-adm64.tar.gz
    
    vim /etc/bashrc
    export PATH=$PATH:/usr/local/go/bin 
    export GOPATH=/opt/gopath
    
    source /etc/bashrc后用go version可查看go的版本

git 安装
    yum -y install git 
    如若不行下载源码包安装

fabric 安装
    因为fabric是基于go语言的,所以代码得放到gopath目录下
    mkdir -p /opt/gopath/src/github.com/hyperledger/
    cd /opt/gopath/src/github.com/hyperledger/
    从github上下载Fabric源码: 
    git clone https://github.com/hyperledger/fabric.git
    cd fabric
    由于当前稳定版本是v1.0.0
    所以git切换到稳定版
    git checkout v1.0.0
    cd examples/e2e_cli/
    chmod +x download-dockerimages.sh
    docker镜像源都是国外的下载非常慢,所以这里添加一个国内的源
    centos/redhat 系统
    vim /etc/sysconfig/docker
        OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=http://860eaa91.m.daocloud.io'
    其他Linux系统
    vim /etc/docker/daemon.json
        {"registry-mirrors": ["http://860eaa91.m.daocloud.io"]}
    编辑错文件的话会一直报错无法启动
    修改之后及得重启docker服务
    service  docker restart
    开始下载fabric所需要的镜像,直接运行命令即可
    当前目录下./download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

    
    镜像下载完成之后直接进行测试
    当前目录./network_setup.sh up
    出现如下图提示时表示测试成功(中间不能有任何文件找不到的现象)
    
    进入容器验证:
    docker exec -it cli bash
    查询初始值
    peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

    
    执行交易
 peer chaincode invoke -o orderer.example.com:7050  --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem  -C mychannel -n mycc -c '{"Args":["invoke","a","b","20"]}'
    查看初始值是否有变化
    peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

    

猜你喜欢

转载自my.oschina.net/u/2343310/blog/1786092
今日推荐