联盟链网络环境和GoLang语言环境搭建:
在Centos上部署Hyperledger Fabric环境
Fabric 介绍
Hyperledger Fabric是一个提供分布式账本解决方案的平台。Hyperledger Fabric由模块化架构支撑,并具备极佳的保密性、可伸缩性、灵活性和可扩展性。Hyperledger Fabric被设计成支持不同的模块组件直接拔插启用,并能适应在经济生态系统中错综复杂的各种场景。
Hyperledger Fabric提供了一个独特的可伸缩、可扩展的架构,这也是Hyperledger Fabric与其他区块链解决方案的显著区别。假如你正在计划部署具备完整审查机制以及开源架构的企业级区块链,Hyperledger Fabric是你的一个不错的起点。
安装步骤
1. Golang 安装配置
下载安装包(也可以自行到https://studygolang.com/dl上下载安装包)
mkdir ~/download
cd ~/download
wget https://studygolang.com/dl/golang/go1.14.linux-amd64.tar.gz
解压
sudo tar -C /usr/local -xzf go1.14.linux-amd64.tar.gz
配置
#创建go目录
mkdir $HOME/go
#用vi打开~./bashrc,配置环境变量
vi ~/.bashrc
# 在最下方插入
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
#使配置的环境变量生效
source ~/.bashrc
#检查是否配置正确
go version
# 推荐启用 Go Modules 功能
go env -w GO111MODULE=on
# 配置 GOPROXY 环境变量加速国内下载
# 1. 官方
go env -w GOPROXY=https://goproxy.io
# 2. 七牛 CDN(推荐)
go env -w GOPROXY=https://goproxy.cn
# 3. 阿里云
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/
# 查看GOPROXY配置
go env | grep GOPROXY
2. 安装curl(已安装可忽略)
sudo apt install curl
3. 安装git(已安装可忽略)
sudo apt install git
4. 安装Docker CE(即 Docker 社区版)
可自行到http://get.daocloud.io/下载Docker和Docker Compose
使用curl下载并安装脚本
curl -sSL https://get.daocloud.io/docker | sh
设置成非root用户也能执行docker,需要将用户加入docker组(例如username用户),此步骤可能需要重启才能生效
sudo usermod -aG docker username
Docker更换阿里镜像源
进入https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors申请专属镜像加速器
使用 /etc/docker/daemon.json来配置 Daemon
没有该文件的话,先建一个:
cd /etc/docker
sudo vi daemon.json
在该配置文件中加入
{
"registry-mirrors": ["加速器地址"]
}
重启docker
sudo service docker restart
查看docker信息
docker info
测试docker
docker run hello-world
5. 安装Docker Compose
下载Docker Compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
配置执行权限
sudo chmod +x /usr/local/bin/docker-compose
检查是否安装成功
docker-compose -v
6. 下载fabric和fabric-ca
官方:
fabric:https://github.com/hyperledger/fabric/releases
fabric-ca:https://github.com/hyperledger/fabric-ca/releases
附件:
📎hyperledger-fabric-linux-amd64-1.4.7.tar.gz📎hyperledger-fabric-ca-linux-amd64-1.4.7.tar.gz
📎Mac_v1.4.7.zip(macOS平台)
获取fabric-sample源码
mkdir -p $GOPATH/src/github.com/hyperledger
cd $GOPATH/src/github.com/hyperledger
# 获取fabric-samples源码
git clone https://github.com/hyperledger/fabric-samples.git
# 进入目录,切换分支
cd fabric-samples
# 可自行选择版本
git checkout v1.4.7
#查看版本
git branch
附件:
将fabric和fabric-ca解压(解压出来的bin需要合并在一起)得到bin和config文件夹,放置到fabric-sample目录下
用vi打开~./bashrc
vi ~/.bashrc
增加下面的环境变量,保存退出
export PATH=$PATH:$GOPATH/src/github.com/hyperledger/fabric-samples/bin
使环境变量立即生效
source ~/.bashrc
检验环境变量是否成功
fabric-ca-client version
7. 运行测试
找到first-network示例
cd $GOPATH/src/github.com/hyperledger/fabric-samples/first-network
#启动
sudo ./byfn.sh up
#如果启动失败可能需要先执行停止命令
#停止
sudo ./byfn.sh down
#启动后查看docker容器
docker ps -a
启动first-network
启动成功后查看docker容器列表
关闭first-network
至此Hyperledger Fabric环境已安装完成。
本地项目运行测试:
详细运行步骤
确保你的项目目录为$GOPATH/src/github.com/togettoyou/blockchain-real-estate
项目由于未使用mod管理,请先将go mod环境设置为auto:go env -w GO111MODULE=auto
首先测试chaincode是否正常调用,运行chaincode/blockchain-real-estate/chaincode_test.go测试用例
在deploy目录下运行./start.sh,观察有无报错提示。运行成功后在终端执行docker exec cli peer chaincode invoke -C assetschannel -n blockchain-real-estate -c '{"Args":["queryAccountList"]}'等cli命令,Args可以替换为Invoke中的funcName,先验证链码是否正确安装及区块链网络能否正常工作。建议./start.sh之前可以先运行./stop.sh清理一下环境。
如果以上都成功,说明区块链网络是没有问题的。接下来同样先执行application/sdk_test.go单元测试,看是否可以成功使用sdk调用链码(此步骤前提你区块链网络即以上步骤已成功启动)
运行application,go run main.go
我的本机测试环境:
前端VUE 环境配置搭建:
首先搭建nodejs 的前端环境
1、从官网下下载最新的nodejs,https://nodejs.org/en/download/
历史版本可从https://nodejs.org/dist/下载
2、通过ftp工具上传到linux服务,解压安装包
tar -xvf node-v10.16.0-linux-x64.tar.xz
3、移动并改名文件夹(不改名也行)
cd /usr/local/
mv /var/ftp/pub/node-v10.16.0-linux-64 . //后面的.表示移动到当前目录
mv node-v10.16.0.0-linux-64/ nodejs
4、让npm和node命令全局生效
方式一:环境变量方式(这种方式似乎只对登录用户有效?)
1)、加入环境变量,在 /etc/profile 文件末尾增加配置
vi /ect/profile
export PATH=$PATH:/usr/local/nodejs/bin
2)、执行命令使配置文件生效
source /etc/profile
方式二:软链接方式(推荐)
ln -s /usr/local/nodejs/bin/npm /usr/local/bin/
ln -s /usr/local/nodejs/bin/node /usr/local/bin/
5、查看nodejs是否安装成功
node -v
npm -v
搭建VUE环境
1、首先需要安装nodejs(前面有教程)
2、npm安装安装插件比较慢,最好安装cnpm(淘宝NPM镜像):npm install -g cnpm --registry=https://registry.npm.taobao.org
3、输入cnpm -v 提示结果为:cnpm: command not found,因为应为此时cnpm还是不是全局变量
输入命令:ln -s /node/node-v10.14.1-linux-x64/bin/cnpm /usr/local/bin/cnpm(根据自己的node目录进行配置), 此时cnpm就是全局变量了,就可使 cnpm -v 就可以查看版本号了
4、安装vue-cli :cnpm install -g vue-cli
5、安装成功后输入 vue 测试一下,结果是 vue: command not found(同理目前还不是全局变量)
输入命令:ln -s /node/node-v10.14.1-linux-x64/bin/vue /usr/local/bin/vue (根据自己的node目录进行配置),此时vue就是全局得了 ,输入vue