hyperledger-fabric+docker安装体验
博客专区 > fangYC 的博客 > 博客详情
hyperledger-fabric+docker安装体验
fangYC 发表于4个月前
hyperledger-fabric+docker安装体验
  • 发表于 4个月前
  • 阅读 155
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

参考:http://hyperledger-fabric.readthedocs.io/en/latest/samples.html

1、安装了vmware和ubuntu虚拟客户机笔者环境为ubuntu16.04.2 LTS和vm12.5.7

////2、将用户加入root组并重启 usermod -aG root <username> 这是无法获得root权限的,只是加入了root组而已 2、一般linux中非root名字用户无法获得root权限,只能加入sudo用户组,以使用sudo命令行使root权限 usermod -aG sudo <username> 然后重启

3、安装go环境,环境变量配置好后重启 参考:http://www.cnblogs.com/auh2010006/p/6343231.html

4、更新ubuntu的源,使用了阿里云的源 参考:http://www.jb51.net/article/110521.htm #笔者个人觉得这个源比较新,根据个人选择

5、安装curl工具 apt install curl

6、安装docker curl -sSL https://get.docker.com/ | sh 如果此链接不可用,那就用linux源的docker apt install docker

7、将用户加入docker组并重启 usermod -aG docker <username>

8、docker run hello-world启动hello-world测试docker是否安装成功,效果是,没找到镜像但是会自动去pull下那个镜像

9、安装docker-compose,要求最好1.8 apt install docker-compose

10、安装nodejs apt install nodejs

11、安装npm apt install npm

12、为了启动docker后,就可以远程访问,需要修改docker服务配置,文件位于/etc/default/docker: # Use DOCKER_OPTS to modify the daemon startup options. #DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4" DOCKER_OPTS="-H=unix:///var/run/docker.sock -H=0.0.0.0:2375" 然后重启docker服务 service docker restart

13、 curl -sSL https://goo.gl/iX9dek | bash下载fabric的一些工具和脚本并且自动下载镜像和修改tag这样就省略了后面16步了 #这是个国外链接,需要翻墙,如果找到一个fabric包解压使用,需要第16步

 curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap-1.0.0-rc1.sh | bash这个链接不需要翻墙

14、配置fabric环境变量并重启 #可以不配置环境变量但是bin目录要放在第15步的第一层文件夹内,因为byfn.sh脚本有设置变量

15、git clone https://github.com/hyperledger/fabric-samples.git下载一个fabric例子和脚本用于搭建fabric网络

16、执行fabric中bin文件的get-docker-images.sh获取镜像,会很慢,然后设置别名 命令:docker tag 镜像名:tag 新的镜像名:新的tag即latest

17、进入byfn.sh脚本目录,执行./byfn.sh -m generate( This first step generates all of the certificates and keys for all our various network entities, the genesis block used to bootstrap the ordering service, and a collection of configuration transactions required to configure a Channel. ),然后,执行./byfn.sh -m up up命令其实连带执行了generate命令了,会先判断是否已经生成证书,如果没有就会先执行generate

注:./byfn.sh -m down 这个命令是将network摧毁,会删除up过程生成的container、image和证书文件等产生物

18、网络搭建成功,用docker ps测试是否有容器运行(docker ps -a可以看到不在运行中的容器)

##开始运行测试## 安装部署chaincode:peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 初始化chaincode:peer chaincode instantiate -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 -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}' -P "OR ('Org1MSP.member','Org2MSP.member')" 进入cli容器:docker exec -it cli bash 产生一笔交易: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 <channer_name> -n mycc -c '{"Args":["invoke","b","a","50"]}' 查询:peer chaincode query -C <channer_name> -n mycc -c '{"Args":["query","b"]}' 打印cli日志:docker logs -f cli 打印某个容器的日志:docker logs dev-peer0.org2.example.com-mycc-1.0 【其他需要的命令参考本文开头的参考链接】

DONE

标签: hyperledger/fabric
共有 人打赏支持
粉丝 0
博文 6
码字总数 5397
×
fangYC
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: