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

一 搭建环境

环境 版本
浏览器 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. 修改配置:在节点配置页面,点击节点列表上的操作按钮进行“修改”或“删除”。

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容