美文网首页
FISCO-BCOS区块链浏览器的搭建

FISCO-BCOS区块链浏览器的搭建

作者: 枕溪研书 | 来源:发表于2018-08-14 17:59 被阅读0次

    一 搭建环境

    环境 版本
    浏览器 chrome
    Java jdk1.8.0_121
    Python 2.7
    gradle gradle-2.1或以上版本
    数据库 mysql-5.6或以上版本
    Web服务 Tomcat 9.0.1

    1.1 Java环境部署

    首先,需要在官网上下载JDK安装包
    如果安装了xshell的话,可以使用如下命令,将jdk的安装包导入centso中:

    yum install  lrzsz -y
    rz
    

    安装vim :yum install vim -y

    解压: tar -zxvf jdk-8u181-linux-x64.tar.gz
    建夹:mkdir /usr/local/java

    将解压后的文件移动到目录/usr下 : mv ~/jdk1.8.0_181 /usr/local/java/

    vim /etc/profile

    在改文件最后加入:

    export JAVA_HOME=/usr/local/java/jdk1.8.0_181
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    

    source /etc/profile

    验证是否成功:

    java -version

    1.2 gradle环境部署

    (1)从官网下载对应版本的gradle安装包,并解压到相应目录。

    mkdir /software/
    unzip -d /software/ gradleXXX.zip
    

    (2)配置环境变量

    export GRADLE_HOME=/software/gradle-2.14
    export PATH=$GRADLE_HOME/bin:$PATH
    

    1.3 数据库部署

    yum安装mysql5.6
    centos自带mysql的yum源是mariadb,所以要下删除mariadb

    yum -y remove mariadb-libs
    

    安装epel包

    rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    

    安装mysql

    yum -y install mysql-community-server
    [root@angleyu ~]# yum install -y mysql-server mysql mysql-devel
    
    #启动数据库服务
    [root@mail ~]# systemctl restart mysql
    #初始化数据库
    [root@mail ~]# mysql_secure_installation
    关闭防火墙
    [root@angleyu ~]# systemctl stop firewalld
    

    启动mysql

    service mysqld start
    

    初始化root用户

    mysql -u root
    

    测试例子:

    /*创建 cc 用户,并且允许该用户本地访问数据库*/
    create user 'cc'@'%' identified by '123456';
    
    给root分配密码:
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
    flush privileges;       ##刷新数据库
    ###查看权限
    mysql> show grants for 'root';
    +-------------------------------------------------------------+
    | Grants for root@%                                           |
    +-------------------------------------------------------------+
    | GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION |
    +-------------------------------------------------------------+
    1 row in set (0.00 sec)
    

    测试是否成功

    另开一个ssh测试用户是否可以登陆,并成功授权,登陆数据库

    root@cc-virtual-machine:~# mysql -h 192.168.10.85 -u root -p
    Enter password: 
    

    登陆成功后,执行sql语句,若出现错误,则用户授权不成功

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    | testdb             |
    +--------------------+
    5 rows in set (0.13 sec)
    
    mysql> use testdb;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> 
    

    如果远程登录失败

    如果远程登录失败,查看原因。如果出现错误:

    ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.10.85' (111)
    

    则可以参考链接:https://blog.csdn.net/chengyuqiang/article/details/70153980?utm_source=blogxgwz5

    注意,配置好mysql后,一定要重启才有效。

    sudo service mysql restart
    

    1.4 Python的安装和部署

    使用python -V命令查看一下是否安装Python (一般都会自带python,2.7版本已足够用了)

    **注意,是大写的 -V **

    1.5 Tomcat操作(Web服务)

    安装方式:源码安装
    软件:apache-tomcat-7.0.29.tar.gz
    下载地址:http://tomcat.apache.org/download-70.cgi

    解压文件

    tar -zxvf 解压文件.tar.gz
    
    -c :建立一个压缩文件的参数指令(create 的意思);
    -x :解开一个压缩文件的参数指令!
    -z :是否同时具有gzip 的属性?亦即是否需要用gzip 压缩?
    -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
    -f :使用档名,请留意,在f 之后要立即接档名喔!不要再加参数!
    

    解压后,可以创建文件夹 /software ,方便浏览器配置时,好写路径:

    mkdir /software

    mv 解压后的文件 tomcat //这句话是吧解压后的文件改名的,可以不执行

    mv tomcat /software //将文件 tomcat 移动到 /software 目录下

    二 部署和配置文件

    2.1 clone代码

    git clone http://github.com/FISCO-BCOS/fisco-bcos-browser.git
    cd fisco-bcos-browser
    

    2.2 浏览器部署

    编辑文件

    vim deploy_browser.sh
    

    配置文件开头的参数,如下

    ######################  参数配置  ######################
    
    userName="cc"  #需要创建的数据库用户
    password="123456" #需要创建的数据库用户密码
    passwordRoot="123456" #数据库root账号的密码
    dbName="testdb"     #需要创建的数据库名
    dbIp="192.168.10.85"   #数据库所在机器IP
    tomcatpath="/software/tomcat/" #tomcat所在路径
    
    ###################### 参数配置结束 #################### 
    
    deploy_browser.sh配置

    运行脚本进行部署和启动

    sh deploy_browser.sh           //这一步是在所有东西都配置好后,最好启动的。
    

    若执行成功,则浏览器服务会自动启动

    三 节点上报程序(report agent)部署和page部署

    3.1 page部署

    部署

    cd /home/cc/Downloads/fisco-bcos-browser/page/fisco-bcos-browser/
    

    (1)配置

    数据库

    vim src/main/resources/jdbc.properties
    

    将下述变量修改为数据库对应的IP地址,数用户名,密码。
    这里主要是java连接数据库的一些JDBC的配置

    jdbc_url = jdbc:mysql://127.0.0.1/testdb  //testdb是要创建的数据库名称
    jdbc_username = cc    //数据库中注册的用户名
    jdbc_password = 123456     //该用户名的密码
    

    127.0.0.1 IP号代表是回送地址,指本地机,一般用来测试使用。主要用于网络软件测试以及本地机进程间通信,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,不进行任何网络传输

    log目录

    vim src/main/resources/log4j2.xml
    

    修改RollingFile标签里的fileName和filePattern,指向需要log打印的位置。

    <RollingFile name="fixedTimeFileAppender" fileName="/home/app/bcos-browser/page/logs/bcos-browser.log" filePattern="/home/app/bcos-browser/page/logs/bcos-browser.log.%d{yyyy-MM-dd}.%i.log.gz">
    

    这个/home/app/的目录会自动生成

    (2)生成Web应用

    #page/fisco-bcos-browser/目录下
    gradle build
    

    成功后可得到war包:

    dist/apps/fisco-bcos-browser.war
    

    (3)发布Web应用

    cp dist/apps/fisco-bcos-browser.war /tomcat所在的安装目录(software)/tomcat/webapps/fisco-bcos-browser.war #拷贝war包到tomcat目录中
    cd /tomcat所在的目录(software)/tomcat/bin
    ./startup.sh    #启动tomcat服务
    
    ####这里注意,一定要关闭虚拟机的防火墙才能在win 上登陆网页查看区块链信息,在后面我也将提醒
    

    3.2 节点上报程序(report agent)部署

    准备

    每台部署了区块链节点的机器仅运行一个脚本即可。

    使用前,请将需要被监控的区块链节点配置文件中的statlog打开。

    vim config.json
    

    配置后的config文件中statlog参数如下:

    "statlog": "ON",
    

    注意:若修改了config.json,则需要重启节点才会生效。

    配置参数

    进入区块链浏览器根目录下的report文件夹,修改ReportAgent.py

    cd report
    vim ReportAgent.py
    

    配置步骤

    (1)配置上报周期:ACCESS_NODE_INTERVAL,默认60秒即可

    (2)配置server端IP:BROWSER_SERVER_IP

    (3)配置server端接收上报数据的端口:BROWSER_SERVER_PORT

    (4)配置节点信息对象。若有多个节点,则依次按照举例进行,填入各个参数。最后一个参数可选,若不设置则默认从log.conf中读取,但需保证log.conf中的log路径为绝对路径。

    (5)将定义的节点信息对象写入全局数组(nodes)中。

    ACCESS_NODE_INTERVAL = 60 #60s 多久询问、上报一次node的信息
    
    HOST_IP = "192.168.10.85" #本机器的外网IP,仅作为浏览器端区分是哪台机器上报的数据
    BROWSER_SERVER_IP = "192.168.10.85" #上报server端的IP,即本机的ip
    BROWSER_SERVER_PORT = "8080" #上报server端的端口
    
    node0 = ["node0", "/mydata/nodedata-1/log.conf", 8545,"/mydata/nodedata-1/log"] #node的名字, log.conf的路径, RPC端口号, node的log目录(可选)
    node1 = ["node1", "/mydata/nodedata-2/log.conf", 8546,"/mydata/nodedata-2/log"] #node的名字, log.conf的路径, RPC端口号, log.conf的路径(可选)
    node2 = ["node2", "/mydata/nodedata-3/log.conf", 8547,"/mydata/nodedata-3/log"]
    node3 = ["node3", "/mydata/nodedata-4/log.conf", 8548,"/mydata/nodedata-4/log"]
    
    nodes = [node0,node1,node2,node3]
    
    TIM截图20180822152924.png

    启动脚本**

    ./start_Agent.sh
    

    查看日志

    tail -f agentOut.txt
    

    关闭脚本

    ./stop_Agent.sh
    

    四 启动浏览器

    切换到浏览器源代码目录,启动区块链浏览器:

    cd /home/cc/Downloads/fisco-bcos-browser/
    
    sh deploy_browser.sh 
    

    打开win系统下的谷歌浏览器,访问网页

    http://192.168.10.85:8080/fisco-bcos-browser
    

    注意:关闭虚拟机防火墙后,如果还是不行,记得在前面加上http://xxxxxip号一定要是你配置的,虚拟机的ip号

    关闭防火墙
    [root@angleyu ~]# systemctl stop firewalld
    
    TIM截图20180822160715.png

    执行如下步骤

    1. 进入页面:点击”配置“ -> ”节点配置“ ,进入页面。

    2. 配置节点:点击“新增节点”,填入节点IP和RPC端口,点击“提交”,提交后,区块链浏览器后台自动连接相应区块链节点,拉取数据。尽可能将链上所有的节点都配置进去。


      image.png
    3. 查看数据:点击区块链浏览器的其它页面,查看区块链的相关数据。

    4. 修改配置:在节点配置页面,点击节点列表上的操作按钮进行“修改”或“删除”。

    注意:目前区块链浏览器仅仅支持接入一条链,请勿配置多条链上的多个节点

    相关文章

      网友评论

          本文标题:FISCO-BCOS区块链浏览器的搭建

          本文链接:https://www.haomeiwen.com/subject/pkovbftx.html