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

2023-10-28

依赖安装

必备开发工具: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

必须修改的配置项目:

在这里插入图片描述
8080 端口nginx 占用,所以端口也要改一下,改为8096 只要不冲突就好了:
在这里插入图片描述

部署

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

注:

若部署时出现以下问题,参见参考文献5:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

访问

管理平台:
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 解决方案

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu16.04搭建fisco-bcos和webase中间件开发环境 的相关文章

随机推荐

  • UE4 运行后视角切换到Cinecamera相机的三种方法

    目的 解决运行后Cinecamera相机无法自动切换到玩家视角 方法 1 调用这个蓝图节点 这个最简单 适合只考虑切换视角的需求 2 制作并播放关卡序列 这个有点麻烦 适合需要做关卡序列动画 3 创建GameMode和Pawn 添加Cine
  • 人脸识别之人脸检测算法

    人脸识别的一般步骤 人脸检测 gt 人脸对齐 gt 人脸特征提取 gt 计算人脸的差值 三元组损失 中心损失 gt 差值小于某一阈值则为同一个人 差值大于某一阈值则不是同一人 本文将对每一个步骤的技术现状 进行分析 并尝试实现其中最优的几种
  • ARMv8 Linux内核异常处理过程分析

    看了Linaro提供的开源ARMv8 Linux内核源码 发现ARMv8异常处理与ARMv7及之前的架构有所不同 简单分析 LinaroARMv8工程 http www linaro org engineering engineering
  • MySQL主从同步配置及相关坑

    主 mysqld 主从同步主配置开始 server id 1 节点ID 确保唯一 log bin master bin 开启mysql的binlog日志功能 sync binlog 1 控制数据库的binlog刷到磁盘上去 0 不控制 性能
  • C++如何初始化顺序表

    顺序表可以使用以下代码初始化 include
  • 如何利用chatGPT提升自己

    经过一个月的使用 我可以很肯定地告诉大家 学习是ChatGPT最能够帮助普通人的一个重要功能 此时我们不必去过度担心是否会被AI替代 而是应该注重如何利用好ChatGPT来提升自身能力 ChatGPT所学习和整理的文本量都超过了人类一生的范
  • 用C语言创建基本的栈与队列

    目录 一 栈 1 什么是栈 2 数组栈与链式栈哪个更优 3 栈的实现 Stack h Stack c lt 1 gt StackInit lt 2 gt StackPop lt 3 gt StackPush lt 4 gt StackDes
  • 基于Spring Cloud架构应用Spring Cloud Alibaba Nacos

    记录 296 场景 基于Spring Cloud架构应用Nacos 版本2 1 0 包括Nacos部署 微服务集成Nacos 微服务注册 微服务配置 微服务调用 RestTemplate和Spring Cloud OpenFeign 版本
  • python数据处理——双y轴图

    画图要求 x轴表示时间 两个y轴 y轴的单位不一致 例如 x轴表示时间 y1表示情感值 y2表示次数 颜色对应表查询网址 颜色代码对应表 或是调用python中的画图模块 Choosing Colormaps in Matplotlib M
  • TypeScript基础知识(2)原始类型 作用域 Object类型

    TypeScript TypeScript是JavaScript的超集 TypeScript JavaScript 类型系统 ES6 或者更后版本 会被编译为JavaScript 配置步骤 1 npm install g typesrcip
  • [Unity 3D] 簡單瞭解「Collision碰撞」與「Trigger觸發」

    Unity 3D是套非常好用的遊戲開發引擎 內建的物理系統讓使用者不需寫長長的程式碼 就能夠迅速設定好所有物件之間的碰撞關係 做出讓角色走不過去的牆 或是可以射穿牆壁的子彈等等 不過它的設定相當細 若是分不清其中差異 很容易就會陷入鬼打牆的
  • IT新技术

    1 物联网 含义 指物物相连的互联网 关键技术 RFID技术 传感器技术等 应用 物流 智能交通 智能医疗 智能家居等 2 大数据 巨量资料 海量 高增长率和多样化的信息资产 特点 4v 大量 多样 高速 价值密度低 应用 金融行业 电商行
  • 《战狼》演习中到底是靠什么代码攻破对方的指挥系统?

    战狼 演习中到底是靠什么代码攻破对方的指挥系统 红蓝双方正在进行军事演习 开局 红方发动了手速buff 仅用时3秒 便成功入侵了对方了指挥网络 旗开得胜 接下来让我们好好学习一下这段代码 敲黑板 啊 这 C语言的气息 通过红框标注的prin
  • SpringSecurity的使用

    Spring Security 是针对Spring项目的安全框架 也是Spring Boot底层安全模 块默认的技术选型 他可以实现强大的Web安全控制 对于安全控制 我们仅需要 引入 spring boot starter securit
  • Slor 条件查询提示:org.apache.http.ParseException: Invalid content type:

    今天在编写Solr查询条件时 启动单元测试 solr 提示如下错误信息 Caused by org apache http ParseException Invalid content type at org apache http ent
  • Unity小游戏-勇闯小岛(PC) 项目展示+完整项目源码

    游戏录像 游戏玩法 主角可以变换四种状态 玩家通过四种状态特有的技能来击败眼前的怪物闯关 切换到棕色 有一个一直围绕自己旋转的大摆斧攻击敌人 切换到绿色 可以抵挡一切的投掷物 但是无法攻击敌人 切换到粉色 切换瞬间可以发出飞镖 切换到蓝色
  • ChatGPT全宇宙!开启联网解除封印,插件生态系统即将问世!

    OpenAI 冷不丁又宣布了惊爆全球的消息 ChatGPT 可以集成第三方插件了 封印解除后 ChatGPT 俨然已经迎来了属于自己的 全知全能 宇宙 网友直呼 AI 的 APP Store 时刻已来 今早醒来 全网都炸锅了 之前 大家都公
  • 硬盘的存储原理和内部架构

    首先 让我们看一下硬盘的发展史 1956年9月13日 IBM的IBM 350 RAMAC Random Access Method of Accounting and Control 是现代硬盘的雏形 整个硬盘需要50个直径为24英寸表面涂
  • String未声明标识符号

    String未声明标识符号 问题描述 原因 解决方法 整体结构为 主函数 头文件的引入 检测函数头文件 检测函数 问题描述 原因 定义的String为CV String 我们需要std string 解决方法 使用string 报错 str
  • Ubuntu16.04搭建fisco-bcos和webase中间件开发环境

    搭建fisco bcos和webase中间件开发环境 依赖安装 node环境搭建 webase中间件依赖配置 Java MySQL python mysql mysql安装 mysql配置test用户 不建议给root用户授权远程访问 搭建