zoukankan      html  css  js  c++  java
  • hyperledger explorer 环境搭建

    ### 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

    当然,每个人安装过程中遇到的问题不同,解决方法也因人而异,请大家辩证的对待。

  • 相关阅读:
    nohub和 2>&1 &
    postman
    ximd 破解版
    B树和B+树的插入、删除图文详解
    漫画叙述B+树和B-树,很值得看!
    数据库 操作的几个问题记录
    推送实现 应用未启动情况下的自定义声音播放
    collectionView reloadData时 点击问题
    强制横屏或者竖屏
    wkWebView 或者 webView 在客户端隐藏某些布局的方法
  • 原文地址:https://www.cnblogs.com/Earth-SmaThing/p/13582615.html
Copyright © 2011-2022 走看看