首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HyperLedger Fabric 1.0 Alpha 入门 - 开发环境安装测试

HyperLedger Fabric 1.0 Alpha 入门 - 开发环境安装测试

作者头像
用户2909867
发布2018-08-22 11:12:58
4320
发布2018-08-22 11:12:58
举报

导言: 最近在国内某金融公司做区块链开发,主要负责智能合约开发,使用的是HyperLedger Fabric 1.0,自己也开始学习区块链技术,上周已经学会自己搭建区块链网络,同时自己也写了一个关于数字货币发行和管理的智能合约,特将这段时间的学习分享给大家,希望可以帮到大家。 有可以一起交流可以私信我。

1.Git准备

apt-get install git

2.GO开发环境设置

从官方下载地址下载最新稳定版本:

wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz
sudo tar -xzf go1.9.linux-amd64.tar.gz -C /usr/local

配置环境变量,使用 sudo vim /etc/profile 并添加下面的内容:

export PATH=$PATH:/usr/local/go/bin 
export GOROOT=/usr/local/go 
export GOPATH=$HOME/go 
export PATH=$PATH:$HOME/go/bin

添加之后使其生效

source  /etc/profile 

3.Docker安装

获取最新版本的 Docker 安装包

看官方教程
https://docs.docker.com/install/linux/docker-ce/ubuntu/

安装Docker-Compose

sudo apt-get install python-pip

然后是安装docker-compose,我们从官方网站(https://github.com/docker/compose/releases)下载也可以从国内的进行DaoClound下载,为了速度快接下来从DaoClound安装Docker-compose,运行脚本:

curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
sudo mv ~/docker-compose /usr/local/bin/docker-compose
 chmod +x /usr/local/bin/docker-compose

启动docker

sudo service docker start

5.部署Fabric 1.0 Beta

1.下载官方自动化部署脚本
Fabric源码下载

我们可以使用Git命令下载源码,首先需要建立对应的目录,然后进入该目录,Git下载源码:

mkdir -p ~/go/src/github.com/hyperledger 
cd ~/go/src/github.com/hyperledger 
git clone https://github.com/hyperledger/fabric.git

由于Fabric一直在更新,所有我们并不需要最新最新的源码,需要切换到v1.0.0版本的源码即可:

cd ~/go/src/github.com/hyperledger/fabric
git checkout v1.0.0
2.启动Fabric实例
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
sudo ./download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0
sudo ./network_setup.sh up

结果如下:

image.png

3.测试Fabric

1在CLI中测试Example02 首先我们需要登录到CLI这个容器中,才能执行Fabric的CLI命令。

sudo docker exec -it cli bash

如果成功进入,我们会切换到该容器的root用户下,得到如下的命令行目录:

root@12f2eb6d9fa6:/opt/gopath/src/github.com/hyperledger/fabric/peer#

链上代码是需要经过Install和Instantiate两步的。下面我们首先安装Example02,并指定一个名字,比如我们这里就用devincc:

peer chaincode install -n devincc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02

结果如下

image.png

接下来是Instantiate,也就是初始化实例,设置a账户有100元,b账户有200元。

peer chaincode instantiate -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem -C mychannel -n devincc -v 1.0  -c '{"Args":["init","a", "100", "b","200"]}' -P "OR ('Org1MSP.member','Org2MSP.member')"

或者

peer chaincode instantiate -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --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 devincc -v 1.0  -c '{"Args":["init","a", "100", "b","200"]}' -P "OR ('Org1MSP.member','Org2MSP.member')"

运行成功后可以看到如下的结果:

image.png

接下来我们用Query命令来看一看a账户的余额:

peer chaincode query -C mychannel -n devincc -c '{"Args":["query","a"]}'

返回的结果是:

image.png

好接下来我们需要把a账户的10元转给b账户,需要调用invoke命令:

peer chaincode invoke -o orderer.example.com:7050  --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem  -C mychannel -n devincc -c '{"Args":["invoke","a","b","10"]}'

或者

peer chaincode invoke -o orderer.example.com:7050  --tls $CORE_PEER_TLS_ENABLED --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 devincc -c '{"Args":["invoke","a","b","10"]}'

运行返回的结果为:

image.png

最后我们再调用query命令来查一下b账户的余额,如果没有计算错,应该是210元。

peer chaincode query -C mychannel -n devincc -c '{"Args":["query","b"]}'

结果如下:

image.png

看来我们的Fabric 1.0 Beta已经部署成功并测试通过了。 我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=3jhhrcx4atkww

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.07.31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.Git准备
  • 2.GO开发环境设置
  • 3.Docker安装
  • 5.部署Fabric 1.0 Beta
    • 1.下载官方自动化部署脚本
      • Fabric源码下载
    • 2.启动Fabric实例
      • 3.测试Fabric
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档