Ubuntu环境下搭建区块链FISCO BCOS节点和WeBASE

说明:

1.搭建的是webase-deploy并不是webase-front

2.根据本文档由于ubuntu版本的不同,可能会造成一些小的问题发生,自行解决

如:java环境变量;数据库权限、密码等。

(一)搭链

参考文档:WeBASE管理平台 — FISCO BCOS 2.0 v2.11.0 文档

1.安装依赖:

sudo apt install -y openssl curl

2.创建fisco目录,并进入

cd ~ && mkdir -p fisco && cd fisco

3.下载脚本,并添加权限

(1)官方的github:

curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.11.0/build_chain.sh && chmod u+x build_chain.sh

(2)国内的镜像:

curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v2.11.0/build_chain.sh && chmod u+x build_chain.sh

4.在目录下执行

  • 生成一条单群组4节点的FISCO链
  • 确保机器的30300~30303,20200~20203,8545~8548端口没有被占用

bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545

注解:

  • -l 选项 用来指定区块链节点的 IP 地址和节点数量。
  • 其中-p选项指定起始端口,分别是p2p_port,channel_port,jsonrpc_port

国密版:(如何区分用国密还是普通暂不知道)

bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545 -g -G

  • 其中-g表示生成国密配置,-G表示使用国密SSL连接

5.至此搭链成功

会出现:All completed,若没有出现nodes/build.log检查这个里面的错误信息

6.启动节点

bash nodes/127.0.0.1/start_all.sh

出现下列现象:

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

失败:

(1)进程检查

  • 使用 netstat -an | grep tcp 检查端口号 30300~30303,20200~20203,8545~8548是否被占用
  • 检查进程 ps -ef | grep -v grep | grep fisco-bcos

出现下列现象,不足4则进程启动没有成功(一般端口号被占用导致)

fisco 5453 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node0/../fisco-bcos -c config.ini fisco 5459 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node1/../fisco-bcos -c config.ini fisco 5464 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node2/../fisco-bcos -c config.ini fisco 5476 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node3/../fisco-bcos -c config.ini

(2)日志检查

  • 查看节点数 tail -f nodes/127.0.0.1/node0/log/log* | grep connected

正常情况下会有其他3个不断连接

info|2019-01-21 17:30:58.316769| [P2P][Service] heartBeat,connected count=3 info|2019-01-21 17:31:08.316922| [P2P][Service] heartBeat,connected count=3 info|2019-01-21 17:31:18.317105| [P2P][Service] heartBeat,connected count=3

  • 执行下面指令,检查是否在共识

tail -f nodes/127.0.0.1/node0/log/log* | grep +++

正常情况会不停输出带有++++Generating seal的日志,即表示共识正常。

info|2020-12-22 17:24:43.729402|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=2e133146... info|2020-12-22 17:24:47.740603|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=eb199760...

(二)WeBASE的搭建

参考文档:快速入门搭建 — WeBASE v1.5.5 文档

  • 推荐使用CentOs 7.2+,Ubuntu 16.04及以上版本,一键部署脚本将自动安装openssl,curl,wget,git,nginx,dos2unix相关依赖项。配置当前用户的环境变量JAVA HOME
  • 用户自己安装下面(上述链接有)

java -version 

mysql --version

python3 --version

pip3 list | grep PyMySQL

下面这些安装到哪儿比较合适呢?目前放到了根目录下面

①PyMySQL部署(Python3.6+)

sudo apt-get install -y python3-pip

sudo pip3 install PyMySQL

②Ubuntu环境安装Java

# 安装默认Java版本(Java 8或以上) sudo apt install -y default-jdk # 查询Java版本 java -version

Java环境变量

补充:

一般apt下载的会自动配置好环境变量

Java安装路径查询:

sudo update-alternatives --config java

一般这个:

/usr/lib/jvm/java-11-openjdk-amd64/bin/java

会显示路径,然后利用cd进行切换过去

注:下面添加后不会立即生效需要重新启动系统

也可以使用这个让现在立即重新启动:source ~/.bashrc

配置Java环境,编辑~/.bashrc文件 $ vim /etc/profile #打开以后将下面三句输入到文件里面并保存退出 export JAVA_HOME=/software/jdk-8u301 #这是一个文件目录,非文件 export PATH=$JAVA_HOME/bin:$PATH

③Ubuntu安装mysql数据库

下面是官网的,但不更新了不能使用,直接用第二个 apt-get install software-properties-common sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe' sudo apt-get update sudo apt install mysql-server-5.6 sudo apt install mysql-client-5.6

用下面这个:

sudo apt-get install mysql-server

(1)初始化:

sudo mysql_secure_installation

原因:

1. 运行 mysql_secure_installation 的结果:

  • 提高安全性,因为你会:
    • 设置 root 用户的密码。
    • 删除匿名用户。
    • 禁止远程 root 登录(推荐做法)。
    • 删除测试数据库。
    • 刷新权限表,使更改立即生效。

总结:运行这个脚本是官方推荐的操作,能够强化 MySQL 安装后的安全性,特别适合生产环境。

2. 不运行 mysql_secure_installation 的结果:

  • 你将保留 默认的配置,这可能包括:
    • root 用户可能没有设置密码或有弱密码(具体依赖于 MySQL 版本)。
    • 保留匿名用户,这让更多用户可以访问数据库。
    • 可能允许 root 用户进行远程登录,这会增加外部攻击风险。
    • 存在不必要的测试数据库。

总结:不运行 mysql_secure_installation 可能会保留潜在的安全隐患,尤其是在生产环境中。

因此,运行 mysql_secure_installation 是强化安全性的必要步骤,尤其是在生产环境中,而 不运行 则意味着使用 默认配置,这可能存在较多安全风险。

运行后的意思:

1.这个是询问是否更改密码

2.密码强度

3.出现下面这个要选择N,不然他会选择用auth_socket插件验证身份,就没有密码了

Skipping password set for root as authentication with auth_socket is used by default.

2.是否删除匿名用户

3.是否禁用远程登录

4.是否删除测试数据库及其访问权限?(按 y 或 Y 表示同意,按其他任意键表示拒绝)

5.现在重新加载权限表吗?(按 y 或 Y 表示同意,按其他任意键表示拒绝):

补充:

如果上述选择了用插件进行验证,则利用下面进行修改:(有时候不会出现,所以也需要进行下面)

1.进入 MySQL 控制台:

sudo mysql

2.执行以下命令设置 root 用户密码:

ALTERUSER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY'新密码';(12345678)

注:

  • 上面最后的;不能少
  • 如果选择0,则必须满足长度至少8位数,其他强度不清楚

3.刷新权限:(root 用户将会通过密码验证,而不是 auth_socket 插件)

FLUSH PRIVILEGES;

(2)检验成功:

输入mysql –version显示下面,则代表安装成功(但是由于不是root用户可能会出现权限不够)

mysql Ver 14.14 Distrib 5.6.16, for debian-linux-gnu (x86_64) using EditLine wrapper

1.进行下载压缩包到:~/fisco/

wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.4/webase-deploy.zip

2.解压

unzip webase-deploy.zip

3.进入目录

cd webase-deploy

4.修改配置文件

配置:common.properties文件

根据下面图片配置

第二部分目录是节点是上一级目录

5.运行

(1)下面是一键运行

python3 deploy.py installAll

出现:deploy has completed 表示成功

再用python3 deploy.py stopAll 停止

之后:python3 deploy.py startAll 启动

之后便可以用

python3 deploy.py startAll 启动

python3 deploy.py stopAll 停止

(2)一条一条启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值