ubuntu下搭建HyperLedger fabric开发环境

一、安装docker
1、docker要求Linux内核版本不低于 3.10
>>检查Linux的内核版本,如果内核版本太低,升级内核
>>查看内核的版本命令uname -a
2、根据不同的Ubuntu版本安装docker
>>查看Ubuntu版本命令lsb_release -a
3、对于16.04的Ubuntu版本安装
>>sudo apt-get install docker-engine
4、启动
>>sudo systemctl enable docker
>>sudo systemctl start docker

二、从docker上拉取镜像
1、检验docker是否安装好
>>docker
2、从docker上拉镜像
>>docker pull hyperledger/fabric-peer:latest
>>docker pull hyperledger/fabric-membersrvc:latest
3、校验镜像是否拉取完成
>>docker images

三、安装docker-compose项目
1、安装pip工具
>>pip工具会依赖Python,而Ubuntu下默认已经安转好Python2.7
>>apt-get install python-pip
2、安转docker compose项目
>>sudo pip install -U docker-compose
3、校验docker compose是否安装好
>> docker-compose -h

四、安装并配置nsenter工具
方法一、
 >>wget https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-2.29.tar.xz; tar xJvf util-linux-2.29.tar.xz
>>cd util-linux-2.29
>> ./configure --without-ncurses && make nsenter
>>sudo cp nsenter /usr/local/bin
方法二、建议下载 .bashrc_docker,并将内容放到 .bashrc 中
>>wget -P ~ https://github.com/yeasy/docker_practice/raw/master/_local/.bashrc_docker;
>>echo "[ -f ~/.bashrc_docker ] && . ~/.bashrc_docker" >> ~/.bashrc; source ~/.bashrc

五、启动节点

1、在root的Home目录下创建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"

2、通过docker-compose up运行已近配置好的节点

六、进入容器
1、docker -ps 找到要进入的容器的CONTAINER ID
2、用docker-pid指令获取需要进入容器的PID
>>echo PID=(docker-pid  b4378c920828)
3、借助PID进入容器
>>sudo nsenter --target 10981 --mount --uts --ipc --net --pid

七、测试环境是否搭建好
1、选择源码中的一个例子chaincode机型编译
>>cd$GOPATH/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
>>go build
2、注册和运行chaincode
>>CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS=0.0.0.0:7051 ./chaincode_example02

3、另起一个终端,进入容器的方式和“六”一样,以WebAppAdmin的形式登录到节点上
>>peer network login WebAppAdmin -p DJY27pEnl16d
4、执行下面的代码,在另外一个终端里面会看到执行结果
安全模式
部署交易
>>CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode deploy -u WebAppAdmin -n mycc -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'
调用交易
>>CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode invoke -u WebAppAdmin -l golang -n mycc -c '{"Function": "invoke", "Args": ["a", "b", "10"]}'
查询交易
>>CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode query -u WebAppAdmin -l golang -n mycc -c '{"Function": "query", "Args": ["b"]}'



你可能感兴趣的:(Hyperledger,Fabric,Linux,区块链技术)