当前位置: 代码迷 >> 综合 >> 【fabric1.4 explorer】Fabric1.4 explorer区块链浏览器搭建教程和搭建报错记录
  详细解决方案

【fabric1.4 explorer】Fabric1.4 explorer区块链浏览器搭建教程和搭建报错记录

热度:29   发布时间:2023-12-29 06:44:59.0

一、当前系统版本

我的版本
fabric为1.4.0版,未安装PostgreSQL,能运行first-network。

版本对应关系见下图:
具体项目说明文档见:
github项目说明文档
版本

二、需要的依赖关系

Nodejs 8.11.x (Note that v9.x is not yet supported)
PostgreSQL 9.5 or greater
jq
Linux-based operating system, such as Ubuntu or MacOS

Verified Docker versions supported:

Docker CE 18.09.2 or later
Docker Compose 1.14.0

三、环境改造

具体环境运行参考资料:
参考资料

  1. 安装postgreS

sudo apt-get update

sudo apt-get install postgresql

在Ubuntu下安装Postgresql后,会自动注册为服务,并随操作系统自动启动。
在Ubuntu下安装Postgresql后,会自动添加一个名为postgres的操作系统用户,密码是随机的。并且会自动生成一个名字为postgres的数据库,用户名也为postgres,密码也是随机的。
————————————————
原文链接:https://blog.csdn.net/z_yong_cool/article/details/78649429

  1. 将Nodejs版本改为 8.11.x

(1)使用npm 安装一个模块 n 到全局

 npm  install  -g  n

(2)使用 n 加版本号就可以安装其他版本,比如:

 n  8.11.3

(3)再使用 n ,通过上下键,就可以选择不同的版本啦

 (注意,是从低版本升到高版本时多版本共存;如果是已经安装了高版本,再安装低版本时,高版本就没有了)
  1. 安装jq
    这个容易忘记,直接sudo 安装即可:sudo apt-get install jq

四、运行

一、
cd /go/src/github.com/hyperledger/fabric/blockchain-explorer/app/persistence/fabric/postgreSQL/db

sudo ./createdb.sh

sudo -u postgres psql

在这里插入图片描述

#执行语句,这里是相对路径
postgres=# \i explorerpg.sql
#上一句执行完会进入此数据库,再执行
fabricexplorer=# \i updatepg.sql

#查看已有数据库
\l
#查看已创建表
\d
#退出
\q

五、报错

  1. sudo -u postgres psql连接不上
cielo@ubuntu:~$ sudo -u postgres psql
[sudo] password for cielo: 
psql: could not connect to server: No such file or directoryIs the server running locally and acceptingconnections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

解决方法:askubuntu上解决方案
我是重新装了一遍,就可以访问了。

2.无法执行语句。可能是版本问题。
部分语句无法执行。数据初始化失败。
在这里插入图片描述

直接执行sudo apt-get install postgresql下载的版本是9.3,可能是版本不兼容。需要修改。

sudo apt install postgresql-common
sudo sh /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
sudo apt-get install postgresql-10

跑上面这个脚本即可。这个脚本可以自动执行存储库设置,ubuntu16.04好像无法直接get到9.3以上的版本,需要执行一下这个设置。

3.改nodejs版本,npm使用出错
在这里插入图片描述
解决方法(引用「Huang-Lin」的原创文章):
官方提供了两种解决方案:

重新安装一个node version manager。(官方推荐)
参考地址:https://docs.npmjs.com/getting-started/installing-node
注:这个方法比较繁琐,我选择的是第二种方案。
改变npm默认的路径。
步骤如下:
进入终端,依次输入一下命令
(1)创建global安装任务的目录
mkdir ~/.npm-global
(2)配置npm使用新的目录
npm config set prefix ‘~/.npm-global’
(3)在~/.profile文件中增加配置
export PATH=~/.npm-global/bin:$PATH
(4)配置文件立即生效
source ~/.profile
(5)重新执行命令
npm install -g xxxx
————————————————
版权声明:本文为CSDN博主「Huang-Lin」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/huanglin_developer/article/details/80050981

4.改版本报错

cielo@ubuntu:~$  n  8.11.3installing : node-v8.11.3
curl: (7) Failed to connect to nodejs.org port 443: Connection refusedError: download preflight failed for '8.11.3' (https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.gz)

参考之前我写的文章中更换npm源的办法。
https://juejin.im/post/5c77e05e518825407a32b94b这篇文章很详细讲了npm的cache的问题。

  相关解决方案