Ubuntu16.04搭建fisco-bcos和webase中间件开发环境

搭建fisco-bcos和webase中间件开发环境

  • 依赖安装
    • node环境搭建
    • webase中间件依赖配置
      • Java
      • MySQL-python
      • mysql
        • mysql安装
        • mysql配置test用户(不建议给root用户授权远程访问)
  • 搭建单群组4节点联盟链
    • 4节点联盟链搭建
    • 检查工作状态:
    • 配置及使用控制台
  • WeBase中间件部署
    • 拉取部署脚本
    • 修改配置文件
    • 部署
      • 注:
    • 访问
        • 备注:部署服务器IP和相关服务端口需对应修改
    • 日志路径
  • 参考文献:

依赖安装

必备开发工具:node(通过nvm安装)、npm包管理工具(再通过npm安装level、crypto.js)
Fisco BCOS依赖:openssl 、curl
Webase中间件依赖:Java(推荐Oracle JDK)、python2.7(Linux自带)、MySQL-python、mysql

node环境搭建

官方推荐用nvm安装node和npm:这里是nvm安装及使用方法
以下是我们用到的操作:

操作 命令
安装nvm wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh
验证nvm安装成功(先重启terminal) command -v nvm
安装node nvm install node
安装npm nvm install-latest-npm
使用npm安装level npm i level
使用npm安装 npm i crypto-js

上述nvm安装后,输入命令command -v nvm若输出nvm则表示nvm安装成功。

webase中间件依赖配置

环境 版本
Java jdk1.8.0_121或以上版本
python 2.7
MySQL-python 1.2.5
mysql mysql-5.6或以上版本

Java

到JAVA官网下载linux-x64_bin.tar.gz包,复制到目标目录下解压。(建议选择/home/XXX/ 下新建 software )
安装:

cd ~
mkdir /software
cp ~/Downloads/jdkXXX ~/software
cd ~/software
tar -zxvf jdkXXX.tar.gz 

配置环境变量:
建议先把Linux自带的vi更新到vim:

sudo apt install vim

修改/etc/profile文件配置环境变量:

vim /etc/profile
/*在vim界面中输入以下内容:*/
export JAVA_HOME=/software/jdkXXX						//你的Java安装路径
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib
//完成退出vim后:
source /etc/profile

vim操作介绍:
vim默认有四种模式:normal mode;insert mode; visual mode; command-line mode; 进入vim默认处于normal mode不能键入内容,按下i进入insert mode就可以进行编辑,编辑完成后按下esc键退回normal mode,再按下Shift-:可进入command-line mode,输入wq保存并退出。
详细操作可以在terminal中输入vim -Help查看。

MySQL-python

pip install requests
sudo apt-get install -y python-pip
sudo pip install MySQL-python				//直接安装MySQL-python大概率报错:
/*EnvironmentError: mysql_config not found
Command "python setup.py egg_info" failed with error code 1*/
//可以尝试以下:
sudo apt-get install libmysqlclient-dev
//libmysqlclient-dev安装成功后应该可以正常安装MySQL-python:
sudo pip install MySQL-python

若还是报错,需要确认python的pip setuptools wheel是否为最新版本:
pip install --upgrade pip setuptools wheel

mysql

mysql安装

sudo -s
apt install mysql*
service mysqld start											//启动mysql
//若提示找不到mysqld.service|mysql.service|mariadb.service, 可能需要卸载mysql重新安装。也要注意同时安装mysql和mariadb会造成冲突。

mysql配置test用户(不建议给root用户授权远程访问)

mysql -u root													//初次登录
//给root设置密码和授权远程访问
mysql > SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
//授权test用户本地访问数据库
mysql > create user 'test'@'localhost' identified by '123456';
//另开一个ssh测试本地用户test是否可以登录数据库
mysql -utest -p123456 -h 127.0.0.1 -P 3306
//登陆成功后,执行以下sql语句,若出现错误,则用户授权不成功
mysql > show databases;
mysql > use test;
//创建数据库
mysql -utest -p123456 -h 127.0.0.1 -P 3306
mysql > create database db_browser;

如果登录报错:Access denied for user ‘root’@’localhost’:
编辑 /etc/my.cnf ,在[mysqld] 部分最后添加一行

skip-grant-tables
② 保存后重启mysql

service mysqld restart
③ 输入以下命令,回车后输入密码再回车登录mysql

mysql -uroot -p mysql

搭建单群组4节点联盟链

4节点联盟链搭建

sudo apt install -y openssl curl																//安装依赖
cd ~ && mkdir -p fisco && cd fisco															//创建操作目录
bash <(curl -s https://raw.githubusercontent.com/FISCO-BCOS/FISCO-BCOS/master/tools/get_buildchain.sh)													//下载build_chain.sh脚本
bash build_chain.sh -l "127.0.0.1:4" -p 30300,20200,8545					//搭建单群组4节点联盟链

命令执行成功会输出All completed。

检查工作状态:

bash nodes/127.0.0.1/start_all.sh							//启动所有节点
/*启动成功会输出类似下面内容的响应。否则请使用netstat -an | grep tcp检查机器的30300~30303,20200~20203,8545~8548端口是否被占用。
try to start node0
try to start node1
try to start node2
try to start node3
 node1 start successfully
 node2 start successfully
 node0 start successfully
 node3 start successfully
*/
ps -ef | grep -v grep | grep fisco-bcos						//检查进程是否启动
/*正常情况会有类似下面的输出;如果进程数不为4,则进程没有启动(一般是端口被占用导致的)
fisco       5453     1  1 17:11 pts/0    00:00:02 /home/fisco/fisco/nodes/127.0.0.1/node0/../fisco-bcos -c config.ini
fisco       5459     1  1 17:11 pts/0    00:00:02 /home/fisco/fisco/nodes/127.0.0.1/node1/../fisco-bcos -c config.ini
fisco       5464     1  1 17:11 pts/0    00:00:02 /home/fisco/fisco/nodes/127.0.0.1/node2/../fisco-bcos -c config.ini
fisco       5476     1  1 17:11 pts/0    00:00:02 /home/fisco/fisco/nodes/127.0.0.1/node3/../fisco-bco*/
tail -f nodes/127.0.0.1/node0/log/log*  | grep connected	//查看节点node0链接的节点数
/*正常情况会不停地输出链接信息,从输出可以看出node0与另外3个节点有链接。
info|2019-01-21 17:30:58.316769| [P2P][Service] heartBeat connected count,size=3
info|2019-01-21 17:31:08.316922| [P2P][Service] heartBeat connected count,size=3
info|2019-01-21 17:31:18.317105| [P2P][Service] heartBeat connected count,size=3*/
tail -f nodes/127.0.0.1/node0/log/log*  | grep +++			//检查是否在共识
/*正常情况会不停输出++++Generating seal,表示共识正常。
info|2019-01-21 17:23:32.576197| [g:1][p:264][CONSENSUS][SEALER]++++++++++++++++Generating seal on,blkNum=1,tx=0,myIdx=2,hash=13dcd2da...
info|2019-01-21 17:23:36.592280| [g:1][p:264][CONSENSUS][SEALER]++++++++++++++++Generating seal on,blkNum=1,tx=0,myIdx=2,hash=31d21ab7...
info|2019-01-21 17:23:40.612241| [g:1][p:264][CONSENSUS][SEALER]++++++++++++++++Generating seal on,blkNum=1,t*/

配置及使用控制台

配置控制台依赖JAVA,我们之前已安装。

cd ~/fisco && bash <(curl -s https://raw.githubusercontent.com/FISCO-BCOS/console/master/tools/download_console.sh)	//获取控制台并回到fisco目录
cp -n console/conf/applicationContext-sample.xml console/conf/applicationContext.xml				//拷贝控制台配置文件
cp nodes/127.0.0.1/sdk/* console/conf/			//配置控制台证书
/*启动控制台*/
cd ~/fisco/console && bash start.sh
/*
输出下述信息表明启动成功 否则请检查conf/applicationContext.xml中节点端口配置是否正确
=============================================================================================
Welcome to FISCO BCOS console(1.0.3)!
Type 'help' or 'h' for help. Type 'quit' or 'q' to quit console.
 ________  ______   ______    ______    ______         _______    ______    ______    ______
|        \|      \ /      \  /      \  /      \       |       \  /      \  /      \  /      \
| $$$$$$$$ \$$$$$$|  $$$$$$\|  $$$$$$\|  $$$$$$\      | $$$$$$$\|  $$$$$$\|  $$$$$$\|  $$$$$$\
| $$__      | $$  | $$___\$$| $$   \$$| $$  | $$      | $$__/ $$| $$   \$$| $$  | $$| $$___\$$
| $$  \     | $$   \$$    \ | $$      | $$  | $$      | $$    $$| $$      | $$  | $$ \$$    \
| $$$$$     | $$   _\$$$$$$\| $$   __ | $$  | $$      | $$$$$$$\| $$   __ | $$  | $$ _\$$$$$$\
| $$       _| $$_ |  \__| $$| $$__/  \| $$__/ $$      | $$__/ $$| $$__/  \| $$__/ $$|  \__| $$
| $$      |   $$ \ \$$    $$ \$$    $$ \$$    $$      | $$    $$ \$$    $$ \$$    $$ \$$    $$
 \$$       \$$$$$$  \$$$$$$   \$$$$$$   \$$$$$$        \$$$$$$$   \$$$$$$   \$$$$$$   \$$$$$$

=============================================================================================
*/

WeBase中间件部署

拉取部署脚本

wget https://github.com/mingzhenliu/sss/releases/download/111/webase-deploy.zip										//获取部署安装包
unzip webase-deploy.zip							//解压安装包
cd webase-deploy

修改配置文件

数据库需要提前安装 && 服务端口不能小于1024

vim common.properties

必须修改的配置项目:
Ubuntu16.04搭建fisco-bcos和webase中间件开发环境_第1张图片
在这里插入图片描述
8080 端口nginx 占用,所以端口也要改一下,改为8096 只要不冲突就好了:
在这里插入图片描述

部署

python deploy.py startAll						//部署所有服务
python deploy.py stopAll						//停止所有服务
python deploy.py help							//单独启停命令和说明可查看帮助

注:

若部署时出现以下问题,参见参考文献5:
Ubuntu16.04搭建fisco-bcos和webase中间件开发环境_第2张图片
Ubuntu16.04搭建fisco-bcos和webase中间件开发环境_第3张图片
在这里插入图片描述

访问

管理平台:
http://{deployIP}:{webPort}

节点前置控制台:
http://{deployIP}:{frontPort}/webase-front

备注:部署服务器IP和相关服务端口需对应修改

日志路径

部署日志:log/
节点日志:nodes/127.0.0.1/node*/log/
web服务日志:webase-web/log/
mgr服务日志:webase-node-mgr/logs/
front服务日志:webase-front/log/

参考文献:

1 Fisco-BCOS单群组FISCO BCOS联盟链的搭建
2 WeBase 中间件快速搭建教程
3 linbin524 的博客
4 关于pip install MySQL-python 报错mysql_config not found的解决方案
5 ./webase.sh not found 解决方案

你可能感兴趣的:(区块链)