区块链fabric环境搭建

在 WIndows10 部署 Hyperledger Fabric 开发环境

准备工作

虚拟机
  1. 开启服务:程序与功能中开启 Hyper-V、虚拟机平台,并重启 Windows

  2. 安装 VMware 和 Ubuntu 20.04 LTS Server

    1. 什么额外的软件都不要安
    2. 更换清华镜像:https://mirrors.tuna.tsinghua.edu.cn/ubuntu/
    3. 取消更新并重启
  3. 设置VM静态IP

    1. VMware 虚拟网卡 NAT 设置
    2. Windows VMnet8 网卡 配置
    3. VM 网络设置静态 IP
  4. 设置VM自动启动

    1. VMware 中共享 VM
    2. 共享 VM 开启自动启动和自动挂起
  5. 关闭VM自动更新

    sudo nano /etc/apt/apt.conf.d/20auto-upgrades
    
SSH
  1. 设置 VM root 账户密码

    sudo passwd root
    
  2. 设置 SSH

    1. 编辑 SSH 配置:

      sudo apt install ssh
      sudo nano /etc/ssh/sshd_config
      # ...
      Port 22
      # ...
      PermitRootLogin yes
      # ...
      PasswordAuthentication yes
      # ...
      
    2. 生成 SSH 密钥

      sudo ssh-keygen -A
      
    3. 重启 SSH 服务

      sudo service ssh restart
      
  3. SSH 连接 root shell

    mkdir ~/Project
    
  4. SSH 连接 ftp 上传部署需要的文件到 Project 目录

    补充

    使用git branch查看文件分支

    git branch -a                // 查看分支
    git checkout release-x.x      // 切换到 release-x.x 版本
    

    使用git tag命令查看版本列表,根据个人需要将源码切换到对应的版本,本次使用的是x.x版。

    git checkout -b vx.x.
    

    fabric/(2.2.1)

    fabric-ca(1.4.9)

    fabric-samples/(2.1.1)

    bootstrap.sh

    go1.15.5.linux-amd64.tar.gz

Docker
  1. 添加 Docker 阿里云镜像加速

    打开阿里云容器镜像服务页获取自己的加速地址,然后执行:

    mkdir -p /etc/docker
    tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://<你自己的ID>.mirror.aliyuncs.com"]
    }
    EOF
    
  2. 安装 Docker

    # 将官方Docker库的GPG公钥添加到系统中
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    # 将Docker库添加到apt里
    add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
    # 再次更新下apt库列表
    apt update
    # 开始安装docker-ce
    apt install docker-ce
    
    # 安装完成查询版本号(20.10.2)
    docker --version
    # 为 docker 添加当前用户
    service docker start
    usermod -aG docker $USER
    # 开始安装docker-compose
    apt install docker-compose
    
    # 安装完成后查询docker-compose版本号(1.25.0)
    docker-compose --version
    
Golang
  1. 安装 Golang

    cd ~/Project
    tar -C /usr/local -xzf go1.15.5.linux-amd64.tar.gz
    
  2. 配置 Golang 环境变量

    mkdir ~/GOPATH
    nano ~/.bashrc
    
    export GOROOT=/usr/local/go 
    export GOPATH=/root/GOPATH 
    export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
    
    source  ~/.bashrc
    
  3. Golang 镜像源加速

    go version
    go env -w GO111MODULE=on
    go env -w GOPROXY=https://goproxy.cn,direct
    
其他软件
apt install python3 python nodejs npm

部署 Fabric 环境

安装 Fabric

安装包的下载地址

https://github.com/hyperledger/fabric/release
https://github.com/hyperledger/fabric-ca/release
cd ~/Project
mkdir fabric
tar -zxvf hyperledger-fabric-ca-linux-amd64-1.4.9.tar.gz -C ./fabric
tar -zxvf hyperledger-fabric-linux-amd64-2.2.1.tar.gz -C ./fabric
mkdir /usr/local/fabric
mkdir /usr/local/fabric/bin
sudo cp fabric/bin/* /usr/local/fabric/bin
配置 Fabric 环境变量
nano ~/.bashrc 

export FABRIC_ROOT=/usr/local/fabric
export GOROOT=/usr/local/go # GOROOT是系统上安装 Go 软件包的位置。
export GOPATH=/root/GOPATH # GOPATH 是刚刚新建的工作目录的位置。
export PATH=$GOPATH/bin:$GOROOT/bin:$FABRIC_ROOT/bin:$PATH

source ~/.bashrc

# 执行以下不出错则配置成功
configtxgen version  
configtxlator version 
cryptogen version 
fabric-ca-client version 
fabric-ca-server version 
idemixgen version 
orderer version 
peer version
discover --help
安装 Docker 镜像
bash ./bootstrap.sh -s -b
环境测试
# git clone https://github.com/hyperledger/fabric-samples.git
cd ~/Project/fabric-samples
git switch -c v2.1.1
cp ../fabric/bin -r ./bin
cp ../fabric/config -r ./config
cd test-network/
service docker restart
chmod +x scripts/*	
apt install dos2unix
# dos2unix检查并使文件适用linux
dos2unix network.sh
dos2unix scripts/*
dos2unix organizations/*
dos2unix organizations/fabric-ca/*
bash network.sh -h
bash network.sh up createChannel -ca -c mychannel -s couchdb -i 2.2.1
# 这一步有问题
bash network.sh deployCC
# 由下列代替,chaincode initialization is not required
bash network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go


export PATH=${PWD}/../bin:$PATH
export FABRIC_CFG_PATH=$PWD/../config/

export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
export CORE_PEER_ADDRESS=localhost:7051
# 调用智能合约-已部署的 ChainCode,不出错则测试成功
peer chaincode query -C mychannel -n fabcar -c '{"Args":["queryAllCars"]}'

bash network.sh down

​ 按照 官方文档 进行测试

此文章源于b站的视频,我个人实现后进行了部分修改。希望能给一些初次接触fabric的小白一些帮助。如有侵权请私信我删除。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值