fabric1.0部署

一:第一种v1.0的启动模式:

这种最好不要用于开发,用于测试chaincode在fabric环境下的部署和调用

虚拟机中安装1.0步骤:
1.进去 https://github.com/yeasy/docker-compose-files/tree/master/hyperledger/1.0
2.在Clone or download中复制地址
3.在虚拟机的终端 git clone 2中的地址
4.点击yeasy下面的hyperledger/1.0/ 然后看下面的read me
5.read me 这个文档 将其中的命令copy到终端执行,完成。
yeasy的博客
http://blog.csdn.net/yeasy/article/details/54928343

hyperledger/fabric1.0快速启动步骤:
cd docker-compose-files/
cd hyperledger/1.0/
docker-compose up

以上是测试的时候可以快捷的弄弄
===========================================================================================

一:第二种v1.0的启动模式:
按照github官方文档:
 
    
  1. https://github.com/hyperledger/fabric/blob/master/docs/source/dev-setup/devenv.rst#id5
安装好所有需要安装的软件
 
     
  1. Git client
  2. Go - 1.7 or later (for releases before v1.0, 1.6 or later)
  3. For macOS, Xcode must be installed
  4. Docker - 1.12 or later
  5. Docker Compose - 1.8.1 or later
  6. Pip
  • (only if using Vagrant) - Vagrant - 1.7.4 or later
  • (only if using Vagrant) - VirtualBox - 5.0 or later
安装命令:
 
     
  1. pip install --upgrade pip
  2. pip install behave nose docker-compose
  3. pip install -I flask==0.10.1 python-dateutil==2.2 pytz==2014.3 pyyaml==3.10 couchdb==1.0 flask-cors==2.0.1 requests==2.4.3 pyOpenSSL==16.2.0 pysha3==1.0b1 grpcio==1.0.4
  4. #PIP packages required for some behave tests
  5. pip install urllib3 ndg-httpsclient pyasn1 ecdsa python-slugify grpcio-tools jinja2 b3j0f.aop six
安装GO环境
 
      
  1. 百度go环境安装
命令:
 
      
  1. cd $GOPATH/src
  2. mkdir -p github.com/hyperledger
  3. cd github.com/hyperledger
 
       
  1. git clone https://github.com/hyperledger/fabric.git
 
        
  1. cd $GOPATH/src/github.com/hyperledger/fabric/devenv
  2. vagrant up
这时基本会安装错误,要配VPN
需要下载, 如果是ubuntu中操作“应该”不用安装vagrant,但是还是安装好比较妥当

vagrant up 的时候可能会出现很多问题,目前我遇到的问题有:
 
      
  1. A VirtualBox machine with the name 'hyperledger' already exists.
  2. Please use another name or delete the machine with the existing
  3. name, and try again.
意思是 已经存在了,这时你需要看一下是不是存在
还要一个问题
 
       
  1. The VirtualBox VM was created with a user that doesn't match the
  2. current user running Vagrant. VirtualBox requires that the same user
  3. be used to manage the VM that was created. Please re-run Vagrant with
  4. that user. This is not a Vagrant issue.
  5. The UID used to create the VM was: 0
  6. Your UID is: 1000

困扰了很长时间,在这里找到的答案
 
       
  1. https://laravel-china.org/topics/515/vagrant-delete-global-status-cache

重新打开一个Terminal,输入:
 
       
  1. vagrant global-status
或者:
 
        
  1. sudo VBoxManage list vms

查看vagrant,如果存在就destroy或者update
    删除
 
       
  1. vagrant destroy {id}
    更新
 
       
  1. cd $GOPATH/src/github.com/hyperledger/fabric/devenv
  2. vagrant up
  3. 或者
  4. vagrant update

命令:
 
      
  1. cd $GOPATH/src/github.com/hyperledger/fabric
这时有一个简单粗暴的编译方法:
 
      
  1. 进入root权限
  2. # su
  3. # 123
编译:(要)
 
      
  1. make
但是直接make时间太长,是将所有的都编译了
我们最好是需要什么就编译什么
我们需要orderer和peer
那我们就:
 
      
  1. make peer
  2. make orderer
(报错信息里面缺什么就装什么)到这里fabric1.0的环境就安装好了

==================================================================================================

二、运行chaincode

根据github上的文档运行一个chaincode试试:
 
      
  1. https://github.com/hyperledger/fabric/blob/master/docs/source/peer-chaincode-devmode.rst
打开Terminal输入
 
      
  1. orderer
再打开一个Terminal输入
 
      
  1. peer node start --peer-defaultchain=false --peer-chaincodedev=true
再打开一个Terminal分别输入
 
        
  1. peer channel create -o 127.0.0.1:7050 -c ch1
  2. peer channel create -o 127.0.0.1:7050 -c ch2
但是创建channel报错,原因不清楚,所以只能安装另一个文档部署chaincode
 
         
  1. https://github.com/hyperledger/fabric/blob/master/examples/e2e_cli/end-to-end.rst

----------------------

fabric正在每天更新所以在不能创建channel的时候就不要创建了,就直接跳过,直接install chaincode,但是要注意
 
         
  1. -C mychannel 要删除掉,用默认的 (当前不支持手动创建channel)
Install chaincode 的命令, 部署
 
         
  1. peer chaincode install -o 127.0.0.1:7050 -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
Instantiate chaincode 的命令, 实例化
:下面红色代码在channel不能创建的时候要删除掉
 
         
  1. peer chaincode instantiate -o 127.0.0.1:7050 -C mychannel -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Args":["init","a", "100", "b","200"]}'
Invoke chaincode, 调用
 
          
  1. peer chaincode invoke -o 127.0.0.1:7050 -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}'
Query, 查询
 
           
  1. peer chaincode query -o 127.0.0.1:7050 -C mychannel -n mycc -c '{"Args":["query","a"]}'

每次部署查询完之后,要:
 
           
  1. rm -rf /var/hyperledger/*

你可能感兴趣的:(fabric1.0部署)