### nodejs 下载nodejs二进制包: wget https://nodejs.org/dist/v12.16.2/node-v12.16.2-linux-x64.tar.xz 解压xz数据包: xz -d node-v12.16.2-linux-x64.tar.xz 解压tar数据包: tar -C /usr/local/ -xvf node-v12.16.2-linux-x64.tar 更改目录名: mv node-v12.16.2-linux-x64 node 添加环境变量: export PATH=$PATH:/usr/local/node/bin 查看版本信息: node -v ### jq yum install epel-release yum install jq ### PostgreSQL # Install the repository RPM: yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm # 下载服务端: yum install -y postgresql12-server 初始化数据库并设置开机自启动: /usr/pgsql-12/bin/postgresql-12-setup initdb systemctl enable postgresql-12 启动服务: systemctl start postgresql-12 验证是否安装成功: rpm -aq| grep postgres (正常返回版本信息即可) 修改用户密码:
su - postgres 切换用户,执行后提示符会变为 '-bash-4.2$'
psql -U postgres 登录数据库,执行后提示符变为 'postgres=#'
ALTER USER postgres WITH PASSWORD 'postgres'; 设置postgres用户密码为postgres
c databasename 进入数据库
d 查看表
d tablename 查看具体表结构
q 退出数据库
exit 退出命令行界面
开启远程访问: vi /var/lib/pgsql/12/data/postgresql.conf 修改#listen_addresses = 'localhost' 为 listen_addresses='*' 当然,此处‘*’也可以改为任何你想开放的服务器IP 信任远程连接: vi /var/lib/pgsql/12/data/pg_hba.conf 修改如下内容,信任指定服务器连接 # IPv4 local connections: host all all 127.0.0.1/32 trust host all all 0.0.0.0/0 trust 重启服务: systemctl restart postgresql-12 ### Explorer 下载 cd /opt/gopath/src/github.com/hyperledger git clone https://github.com/hyperledger/blockchain-explorer.git 我们使用默认版本,进行数据库创建: cd blockchain-explorer/app vi explorerconfig.json 修改配置如下: "postgreSQL": { "host": "127.0.0.1", "port": "5432", "database": "fabricexplorer", "username": "postgres", "passwd": "postgres" } 运行创建数据库的脚本: cd persistence/fabric/postgreSQL chmod -R 775 db/ cd db ./createdb.sh 查看数据库状态指令: sudo -u postgres psql -c 'l' sudo -u postgres psql fabricexplorer -c 'd' # 定义fabric网络连接参数 cd /opt/gopath/src/github.com/hyperledger/blockchain-explorer/app/platform/fabric/config.json # 设置enableAuthentication属性false,用于关闭登录认证 { "network-configs": { "first-network": { "name": "firstnetwork", "profile": "./connection-profile/first-network.json", "enableAuthentication": false } }, "license": "Apache-2.0" } # 继续进行设置(Fabric网络环境要处于正常启动的状态,不然下述路径的文件是不存在的) cd /opt/gopath/src/github.com/hyperledger/blockchainexplorer/app/platform/fabric/connection-profile/first-network.json 重点设置如下几项: "adminPrivateKey": { "path": "/opt/gopath/src/github.com/hyperledger/fabric/scripts/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/priv_sk" } -------------------------------------分隔符(下同)----------------------------------------- "signedCert": { "path": "/opt/gopath/src/github.com/hyperledger/fabric/scripts/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem" } ========================================================================================= "tlsCACerts": { "path": "/opt/gopath/src/github.com/hyperledger/fabric/scripts/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" } ----------------------------------------------------------------------------------------- "tlsCACerts": { "path": "/opt/gopath/src/github.com/hyperledger/fabric/scripts/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem" } ### 需要说明一点,这两个 "tlsCACerts" 并不在一个字典中,配置时要特别注意,还有就是以自己的文件路径为主。 # Build Hyperledger Explorer cd /opt/gopath/src/github.com/hyperledger/blockchain-explorer npm install cd /opt/gopath/src/github.com/hyperledger/blockchain-explorer/client npm install npm run build 如果遇到 root没权限,则需要使用非安全模式,顺便输出下详细日志如下: cd /opt/gopath/src/github.com/hyperledger/blockchain-explorer npm install --unsafe-perm -d cd client/ npm install --unsafe-perm -d npm run build --unsafe-perm -d !!!注意,如果中间出错,重新安装时先要删除node_modules文件夹,client里的也需要; # 报错提示信息(在执行 npm run build --unsafe-perm -d 后出现的error信息) ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory # 错误原因 react环境搭建时,在 Node 中通过 JavaScript 使用内存时只能使用部分内存(64位系统下约为1.4 GB,32位系统下约为0.7 GB),而我的虚拟机环境初始化内存为1G,导致JavaScript内存溢出 # 解决方案 查询过很多网上的文档,建议都是添加指定内存大小的参数,反复尝试多次后无果,最后修改虚拟机内存设置为3G后,重新执行打包指令,成功(大家可以尝试下2G)。 运行 cd /opt/gopath/src/github.com/hyperledger/blockchain-explorer ./start.sh ./stop.sh 停止 浏览器中输入当前IP地址,端口号为 8080 官方文档: https://github.com/hyperledger/blockchain-explorer/tree/v1.1.2
当然,每个人安装过程中遇到的问题不同,解决方法也因人而异,请大家辩证的对待。