44

基于fabric1.4.2的区块链浏览器搭建

 4 years ago
source link: https://www.tuicool.com/articles/zIf2uyV
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

基于fabric1.4.2的blockchain-explorer搭建

环境准备

  • fabric 1.4.2
  • fabric-sample 1.4.2
  • blockchain-explorer 0.3.9.5

  • go 1.12.8环境安装

下载安装包

在网址 https://studygolang.com/dl 下载压缩包之后解压提取到Ubuntu中

设置环境配置

vim /etc/profile

export GOROOT=/go

export GOPATH=/Go_WorkSpace

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

source /etc/profile

使此修改的文件立即生效

go env -w GOPROXY= https://goproxy.cn,direct

  • nodejs 8.11.4 环境安装

安装nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

安装后重启该会话或重新开一个会话即可生效

查看当前支持的版本

nvm ls-remote

安装(同时安装npm)

nvm install 8.11.4

检查node.js安装版本

node -v

检查npm的安装版本

npm -v

切换源

npm install -g nrm

nrm ls

nrm use taobao

  • PostgreSQL 10.10 环境安装
apt install postgresql
  • Jq jq-1.5-1-a5b5cbe
apt install jq
  • docker 19.03.2 环境安装

官方安装脚本

curl -fsSL https://get.docker.com | bash -s docker —mirror Aliyun

配置Docker镜像站

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

sudo systemctl restart docker.service

  • docker-compose 1.24.1 环境安装

docker-compose安装

sudo apt-get install python-pip

sudo pip install docker-compose

查看版本

docker-compose -version

first-network搭建

编译工具

go get github.com/hyperledger/fabric

go get -u github.com/golang/protobuf/protoc-gen-go

cd $GOPATH/src/github.com/hyperledger/fabric

git checkout v1.4.2

sudo apt install libtool libltdl-dev

make release

cd release/linux-amd64 (bin文件下生成了一些必要的工具)

sudo cp -r bin /usr/local (移动到/usr/local下,全局使用)

cd ../..

mkdir -p .build/docker/gotools/

cp -r $GOPATH/bin .build/docker/gotools/

cp -r $GOPATH/src/github.com/hyperledger/fabric/release/linux-amd64/bin/ .build/docker/gotools/

启动网络

go get -u github.com/hyperledger/fabric-samples

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

git checkout v1.4.2

cd first-network

./byfn.sh -m generate

./byfn.sh -m up

./byfn.sh -m down(TODO:清除所有容器和镜像,最后使用)

区块链浏览器运行实现

导入数据库

cd $GOPATH/src/github.com/hyperledger/blockchain-explorer

git checkout v0.3.9.5

cd app/persistence/fabric/postgreSQL

chmod +R 775 db/

cd db

./createdb.sh

cd $GOPATH/src/github.com/hyperledger/blockchain-explorer/app/platform/fabric/

vim config.json

将$GOPATH换成自己的路径,将organizations组织的sk证书文件名称换成自己的文件名称,保存退出

可参考以下配置信息

{
"name": "first-network",
"version": "1.0.0",
"license": "Apache-2.0",
"client": {
"tlsEnable": true,
"adminUser": "admin",
"adminPassword": "adminpw",
"enableAuthentication": false,
"organization": "Org1",
"connection": {
"timeout": {
"peer": {
"endorser": "300"
},
"orderer": "300"
}
}
},
"channels": {
"mychannel": {
"peers": {
"peer0.org1.example.com": {},
"peer1.org1.example.com": {},
"peer0.org2.example.com": {},
"peer1.org2.example.com": {}
},

"connection": {
"timeout": {
"peer": {
"endorser": "6000",
"eventHub": "6000",
"eventReg": "6000"
}
}
}
}
},
"organizations": {
"Org1": {
"mspid": "Org1MSP",
"fullpath": true,
"adminPrivateKey": {
"path": "$GOPATH/src/github.com/hyperledger/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/users/[email protected]/msp/keystore/095dd549c6724c0280f1e22adf5216e09da2914c7491ec155b649cef85d960f8_sk"
},
"signedCert": {
"path": "$GOPATH/src/github.com/hyperledger/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/users/[email protected]/msp/signcerts/[email protected]"
}
}
},
"peers": {
"peer0.org1.example.com": {
"tlsCACerts": {
"path": "$GOPATH/src/github.com/hyperledger/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt"
},
"url": "grpcs://localhost:7051",
"eventUrl": "grpcs://localhost:7053",
"grpcOptions": {
"ssl-target-name-override": "peer0.org1.example.com"
}
},
"peer1.org1.example.com": {
"tlsCACerts": {
"path": "$GOPATH/src/github.com/hyperledger/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt"
},
"url": "grpcs://localhost:8051",
"eventUrl": "grpcs://localhost:8053",
"grpcOptions": {
"ssl-target-name-override": "peer1.org1.example.com"
}
},
"peer0.org2.example.com": {
"tlsCACerts": {
"path": "$GOPATH/src/github.com/hyperledger/fabric-samples/first-network/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt"
},
"url": "grpcs://localhost:9051",
"eventUrl": "grpcs://localhost:9053",
"grpcOptions": {
"ssl-target-name-override": "peer0.org2.example.com"
}
},
"peer1.org2.example.com": {
"tlsCACerts": {
"path": "$GOPATH/src/github.com/hyperledger/fabric-samples/first-network/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/ca.crt"
},
"url": "grpcs://localhost:10051",
"eventUrl": "grpcs://localhost:10053",
"grpcOptions": {
"ssl-target-name-override": "peer1.org2.example.com"
}
}
}
}

编译启动

cd $GOPATH/src/github.com/hyperledger/blockchain-explorer

npm install

cd app/test

npm install

npm run test

cd ../../client/

rm package-lock.json

npm install

npm run test:ci -- -u --coverage

npm run build

连接终端

cd $GOPATH/src/github.com/hyperledger/blockchain-explorer

./start.sh

打开浏览器输入以下网址

http://localhost:8080/#/login

账号密码见config.json配置

深入浅出区块链 - 打造高质量区块链技术博客,学区块链都来这里,关注 知乎 、微博 掌握区块链技术动态。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK