基于fabric1.4.2的区块链浏览器搭建
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
打开浏览器输入以下网址
账号密码见config.json配置
深入浅出区块链 - 打造高质量区块链技术博客,学区块链都来这里,关注 知乎 、微博 掌握区块链技术动态。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK