基于区块链存证管理系统环境搭建

联盟链网络环境和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-samples_v1.4.7.zip

将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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容