CentOS上安装GO,Git,fabric,Dockers,拉取redis

安装go

手动安装go

wget -c https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz

tar -C /usr/local/ -zxvf go1.8.3.linux-amd64.tar.gz

通过yum安装go

yum install go

验证go是否安装成功

1go version

2go env

系统环境变量:

进入 vim /etc/profile 在末尾添加

export GOROOT=/usr/lib/golang 

export PATH=$PATH:$GOROOT/bin

export GOPATH=/root/go

export PATH=$PATH:$GOPATH/bin

source /etc/profifile   差看是否安装成功

安装git

因为go get 借助于git

yum install -y git

fabric 环境安装

fabric 下载

1)下载环境

https://github.com/hyperledger/fabric

2go get github.com/hyperledger/fabric

fabric对应的案例 samples

cd /root/go/src/github.com/hyperledger/

git clone https://github.com/hyperledger/fabric-samples.git

fabric 别名

fabric --->/root/go/src/github.com/hyperledger

1)进入根目录

cd ~

ls -a

2)vim .bashrc

alias fabric='cd /root/go/src/github.com/hyperledger'

3)source .bashrc4)

fabric

启动fabric

首先获取Dockers镜像在启动 

fabric依赖于docker

docker介绍   》可百度搜索docker,使用菜鸟教程https://www.runoob.com/docker/docker-tutorial.html

https://hub.docker.com/explore/ docker 镜像文件

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux

机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone app,更重要的是容器性能开销极低。

安装docker

1.1、系统适配

需要linux内核到4.x及以上,内存2G及以上,本教程运行在centos7.2上。

1.2 安装docker

要求:Docker version 17.06.2-ce及以上

1)官方安装

参考:https://docs.docker.com/install/linux/docker-ce/centos/#prerequisites

2)阿里云安装

安装docker-ce

检查版本是否正确

重启docker并设置为开机自启

docker 案例列表

# step 1: 安装必要的一些系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# Step 2: 添加软件源信息

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# Step 3: 更新并安装 Docker-CE

sudo yum makecache fast

sudo yum -y install docker-ce

ce 是开源版本的意思

1 检查版本是否正常

[root@localhost master]# docker --version

Docker version 18.06.1-ce, build e68fc7a

2 重启docker并设置为开机自启

systemctl start docker & systemctl enable docker

service docker status //状态https://hub.docker.com/_/hello-world/

docker的镜像管理和加速配置

https://cr.console.aliyun.com/cn-beijing/instances/mirrors

进入镜像加速器:按步骤来

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://0dzh3q47.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

更换阿里云镜像

https://dev.aliyun.com/search.html

docker pull hello-world

docker images //镜像列表

docker run hello-world

docker镜像的管理

docker images

docker常用命令

1.docker images

2.docker pull images

3.docker ps   查看后台进程

4.docker run -d nginx 后台开启nginx

5.docker run -d -p 8082:80 nginx   开启nginx并将nginx的80端口:复制给主机的

...

docker 下载镜像

进入到fabric下的scripts文件夹,运行bootstrap.sh,此过程需要等待几分钟

cd /fabric/scripts/

./bootstrao.sh

通过 docker iamges 命令查看镜像

快速部署一个fabric网络

前提安装docker-compose

pip安装

安装docker-compose

yum -y install epel-release

yum -y install python-pip

pip install --upgrade pip

yum install docker-compose //安装命令

查询版本是否正确

[root@localhost master]# docker-compose --version

docker-compose version 1.18.0, build 8dd22a9

开启demo

https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linu

x-amd64-1.3.0/hyperledger-fabric-linux-amd64-1.3.0.tar.gz

https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric-ca/hyperledger-fabric-c

a/linux-amd64-1.3.0/hyperledger-fabric-ca-linux-amd64-1.3.0.tar.gz

1)拷贝文件到/root/go/src/github.com/hyperledger/fabric-samples/

2tar -xzvf hyperledger-fabric-linux-amd64-1.3.0.tar.gz

tar -xzvf hyperledger-fabric-ca-linux-amd64-1.3.0.tar.gz

进入到fabric-samples/fifirst-network

生成配置文件。执行下方代码后,会出现 Continue? [Y/n] 输入y选择同意后,则默认生成的通道名为

mychannel的配置信息

启动项目

如果成功,则运行过程中不会报错

yum -y install epel-release

yum -y install python-pip

pip install --upgrade pip

yum install docker-compose //安装命令

[root@localhost master]# docker-compose --version

docker-compose version 1.18.0, build 8dd22a9

cd $GOPATH/src/github.com/hyperledger/fabric-samples/first-network

./byfn.sh generate

./byfn.sh -m up成功后,关闭网络

bootStrap.sh 主要功能

bootstrap 一共做了三件事 1)安装fabric-samples 会调用samplesInstall 2)安装 binaries 下载 tar -->bin /conf

3) 安装docker镜像 dockerInstall

samplesInstall

下载案例代码

./byfn.sh -m down

if [ "$SAMPLES" == "true" ]; then

echo

echo "Installing hyperledger/fabric-samples repo"

echo

samplesInstall

fi

if [ "$BINARIES" == "true" ]; then

echo

echo "Installing Hyperledger Fabric binaries"

echo

binariesInstall

fi

if [ "$DOCKER" == "true" ]; then

echo

echo "Installing Hyperledger Fabric docker images"

echo

dockerInstall

fi下载二进制文件

下载docker镜像通道 组织 证书

1)生成CA信息和相应的证书文件

/root/go/src/github.com/hyperledger/fabric-samples/bin/cryptogen

##########################################################

##### Generate certificates using cryptogen tool #########

##########################################################

+ cryptogen generate --config=./crypto-config.yaml2)生成传世块

3)生成通道

4)确实组织的锚节点

byfn.sh 脚本分析

/root/go/src/github.com/hyperledger/fabric-samples/bin/configtxgen

##########################################################

######### Generating Orderer Genesis block ##############

##########################################################

+ configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel

artifacts/genesis.block

#################################################################

### Generating channel configuration transaction 'channel.tx' ###

#################################################################

+ configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel

artifacts/channel.tx -channelID mychannel

#################################################################

####### Generating anchor peer update for Org1MSP ##########

#################################################################

+ configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel

artifacts/Org1MSPanchors.tx -channelID mychannel -asOrg Org1MSP

2018-10-27 01:58:46.949 PDT [common/tools/configtxgen] main -> INFO 001 Loading

configuration

2018-10-27 01:58:46.986 PDT [common/tools/configtxgen] doOutputAnchorPeersUpdate ->

INFO 002 Generating anchor peer update

2018-10-27 01:58:46.986 PDT [common/tools/configtxgen] doOutputAnchorPeersUpdate ->

INFO 003 Writing anchor peer update

+ res=0

+ set +x

#################################################################

####### Generating anchor peer update for Org2MSP ##########

#################################################################

+ configtxgen -pr./byfn.sh -m up

1.实例化通道对象

2.让每个组织的节点加入到通道中

3.给通道的组织锚节点进行链码安装操作

4.对链码进行实例化操作

===================== Channel 'mychannel' created =====================

===================== peer0.org1 joined channel 'mychannel' =====================

===================== peer1.org1 joined channel 'mychannel' =====================

===================== peer0.org2 joined channel 'mychannel' =====================

===================== peer1.org2 joined channel 'mychannel' =====================

===================== Chaincode is installed on peer0.org1 =====================

Install chaincode on peer0.org2...

+ peer chaincode install -n mycc -v 1.0 -l golang -p

github.com/chaincode/chaincode_example02/go/

+ res=0

+ set +x

2018-10-27 10:11:53.321 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using

default escc

2018-10-27 10:11:53.321 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using

default vscc

2018-10-27 10:11:53.475 UTC [chaincodeCmd] install -> INFO 003 Installed remotely

response:"OK" >

===================== Chaincode is installed on peer0.org2 =====================

Instantiating chaincode on peer0.org2...5.组织10节点调用链码的方法,进行查询操作,返回结果100

6. 组织20节点上面 转账操作 invoke

7. 在组织21节点查询 a的账号为90

fabricCar

1nodejs

Nodejs是什么?

一般来说,Javascript都是运行在浏览器中的。如果抛开浏览器,能不能运行js代码呢?Nodejs提供的就是

ECMAScript的运行环境,它包含了浏览器内核,使得ECMAScript能在浏览器之外运行。为什么不说DOMBOM

呢?因为脱离了浏览器,就没有文档对象和浏览器对象了。

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模

型,使其轻量又高效

下载

http://nodejs.cn/download/

tlsca.example.com-cert.pem -C mychannel -n mycc -l golang -v 1.0 -c '{"Args":

["init","a","100","b","200"]}' -P 'AND ('\''Org1MSP.peer'\'','\''Org2MSP.peer'\'')'

Querying chaincode on peer0.org1...

===================== Querying on peer0.org1 on channel 'mychannel'...

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

Attempting to Query peer0.org1 ...3 secs

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

org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"Args":

["invoke","a","b","10"]}'

Querying chaincode on peer1.org2...

===================== Querying on peer1.org2 on channel 'mychannel'...

=====================https://www.runoob.com/nodejs/nodejs-install-setup.html安装步骤

运行nodejs

https://www.runoob.com/nodejs/nodejs-http-server.html

npm

类似于maven docker 一个包的管理机制

https://www.npmjs.com/

替换成:

https://www.npmjs.com/package/cnpm

npm install cnpm -g --registry=https://registry.npm.taobao.org 从淘宝上下载对应node

开启fabriccar操作cd /root/go/src/github.com/hyperledger/fabric-samples/fabcar

./startFabric.sh

下载镜像 docker image

脚本分析

centos 安装node npm

1$ sudo curl -sL -o /etc/yum.repos.d/khara-nodejs.repo \ https://copr.fedoraproject.org/coprs/khara/node

js/repo/epel-7/khara-nodejs-epel-7.repo

2$ sudo yum install -y nodejs nodejs-npm

npm i -g npm

3)更新淘宝源先将npm的源换为淘宝源,然后在下载npm confifig set registry http://registry.npm.taobao.org/

4)安装gcc-c++

yum install gcc-c++

5npm install -g grunt-node-inspector

6npm install -g grpc --unsafe-perm

7npm install

如果拉取镜像失败,提示缺少[email protected]等。

下载链接中文件:https://download.csdn.net/download/qq_36357926/10112314

完成下载后放入fabcar\node_modules\grpc\src\node\extension_binary\node-v48-linux-x64\目录下即可。

nodejs低版本解决方案

https://blog.csdn.net/u010064206/article/details/76714208

#####

新的安装方式

npm install ethereumjs-abi -g --unsafe-perm

npm install --save @google-cloud/vision

https://qiita.com/tworks55/items/6f959395c1163ac0b039

root/go/src/github.com/hyperledger/fabric-samples/fabcar/node_modules/fabric

client/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-glibc/grpc_node.node

/home/vagrant/fabric-samples/fabcar/node_modules/grpc/src/node/extension_binary/node

v57-linux-x64-glibc/grpc_node.node"

发布了36 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_40098405/article/details/102871912