虚拟机搭建FISCO BCOS的区块链浏览器
一键搭建
注:根据官方文档搭建,大部分与官方文档相似。我自己修改了部分代码,并对部分报错进行了解决
这次使用的是一键搭建,适合前后端同机部署,快速体验的情况使用
具体安装步骤
依赖环境
环境 版本 Java JDK8或以上版本 MySQL MySQL-5.6或以上版本 Python Python3.4+ PyMySQL 使用python3时需安装
MySQL安装-> 安装MariaDB。MariaDB数据库是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。MariaDB完全兼容 MySQL,包括API和命令行。
安装
sudo yum install -y mariadb*
启动-停止
启动:sudo systemctl start mariadb.service
停止:sudo systemctl stop mariadb.service
设置开机启动
sudo systemctl enable mariadb.service
初始化
执行以下命令:
sudo mysql_secure_installation
以下根据提示输入:
Enter current password for root (enter for none):<–初次运行直接回车
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
授权访问和添加用户
使用root用户登录,密码为初始化设置的密码
mysql -uroot -p -h localhost -P 3306
授权root用户远程访问
mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql > flush PRIVILEGES;
创建test用户并授权本地访问
mysql > GRANT ALL PRIVILEGES ON *.* TO 'test'@localhost IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql > flush PRIVILEGES;
安全温馨提示:
- 例子中给出的数据库密码(123456)仅为样例,强烈建议设置成复杂密码
- 例子中root用户的远程授权设置会使数据库在所有网络上都可以访问,请按具体的网络拓扑和权限控制情况,设置网络和权限帐号
测试连接和创建数据库
登录数据库
mysql -utest -p123456 -h localhost -P 3306
创建数据库
mysql > create database db_browser;
Python的安装
编辑工具
## 注意: 切换到root用户执行以下命令
yum -y install epel-release
yum install python-pip
yum install wget
yum install gcc
yum -y install zlib*
下载安装包
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz
解压并移动到/user/local
tar -xvf Python-3.8.5.tar.xz
mv Python-3.8.5 /usr/local/Python3
安装
cd /usr/local/Python3
./configure --prefix=/usr/local/Python3 --enable-optimizations --with-ssl
#第一个指定安装的路径,不指定的话,安装过程中可能软件所需要的文件复制到其他不同目录,删除软件很不方便,复制软件也不方便.
#第二个可以提高python10%-20%代码运行速度.
#第三个是为了安装pip需要用到ssl,后面报错会有提到.
make && make install
后续配置
mv /usr/bin/python /usr/bin/python.bak # bei
ln -s /usr/local/Python3/bin/python3.6 /usr/bin/python
# 测试
python -V
# 修改
vi /usr/bin/yum
把#! /usr/bin/python修改为#! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python 修改为#! /usr/bin/python2
搭建浏览器
获取代码
git clone https://github.com/FISCO-BCOS/fisco-bcos-browser.git # 从github获取
git clone https://gitee.com/FISCO-BCOS/fisco-bcos-browser.git # 从gitee获取,实测速度很快
# 以上命令使用一个就行,建议使用gitee
切换目录
cd fisco-bcos-browser/deploy
修改配置文件
vi common.properties
# 根据字段名修改前面自己安装的环境

部署
部署所有服务:
python deploy.py installAll
注:我在执行上述命令的时候报错了,内容如下

解决方法:
1. 查看错误信息:提示不支持我的平台,只支持centos,ubuntu,suse
2. 但是我的系统就是centos7
3. 通过查看 comm/check.py文件,发现报错代码块的具体内容如下: def installByYum(server):
if isCentos():
result = doCmdIgnoreException("sudo yum -y install {}".format(server))
if result["status"] != 0:
os.system("sudo yum -y install epel-release")
os.system("sudo yum -y install python-pip")
os.system("pip install requests")
result = doCmd("sudo yum -y install {}".format(server))
elif isSuse():
os.system("sudo zypper install -y {}".format(server))
elif isUbuntu():
os.system("sudo apt-get install -y {}".format(server))
else:
raise Exception("error,not support this platform,only support centos,suse,ubuntu.")
return
4. 我猜测,因为linux发行版不同,安装软件的方法也不同,例如:Ubuntu使用apt,centos使用yum。
5. 只需把 if isCentos(): 修改为1即可
6. 第五步就是自行修改了代码,因为我是centos系统,但是代码没识别出来,这样修改了以后 ,代码就会使用 yum 命令安装软件(注:如果报相同的错,请根据自己的系统修改这部分代码)
成功截图

使用浏览器访问 http://127.0.0.1:5100/ (因为我是在虚拟机部署的,所以在本机地址打开)
网页显示截图

虚拟机搭建FISCO BCOS的区块链浏览器的更多相关文章
- Spring Boot 整合 Fisco Bcos(区块链)
简介 FISCO BCOS是由国内企业主导研发.对外开源.安全可控的企业级金融联盟链底层平台,由金链盟开源工作组协作打造,并于2017年正式对外开源. 目前,成熟的区块链的平台不少,之所以选择FISC ...
- FISCO BCOS WorkShop | 区块链开发特训营,开课啦!
FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造.开源工作组成员包括博彦科技.华为.深证通.神州数码.四方精创.腾讯.微众银行. ...
- 第五章 FISCO BCOS 区块链浏览器的部署
想了解相关区块链开发,技术提问,请加QQ群:538327407 前提 前面我们已经通过底层部署.sdk调测.自定义智能合约编写与部署.联合单元测试调测,已经初步对FISCO BCOS的区块链底层和实际 ...
- hyperledger explorer 结合 fabric1.4 搭建 区块链浏览器 踩坑记录
博主通过这篇博客的步骤搭建区块链浏览器:https://blog.csdn.net/qq_32675427/article/details/99946945 进行到下面这一步时出现各种异常,浪费了博主 ...
- github源码开源区块链浏览器
<ignore_js_op> 帅爆了吧 https://blockexplorer.com/ github源码:https://github.com/bitcoin-blockexplor ...
- AbelSu的区块链笔记
最近几年,像比特币.以太坊.ICO.区块链等概念突然成为互联网热门话题,今天写这篇博客,也是做一些笔记,大概说一下对这个的解释和其他相关内容. 区块链: 区块链是分布式数据存储.点对点传输.共识机制. ...
- 区块链学习7:超级账本项目Hyperledger与Fabric以及二者的关系
☞ ░ 前往老猿Python博文目录 ░ 一.超级账本(hyperledger) 超级账本(hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,成员包括 ...
- 如何从零开始学习区块链技术——推荐从以太坊开发DApp开始
很多人迷惑于区块链和以太坊,不知如何学习,本文简单说了一下学习的一些方法和资源. 一. 以太坊和区块链的关系 从区块链历史上来说,先诞生了比特币,当时并没有区块链这个技术和名词,然后业界从比特币中提取 ...
- NEO区块链-DAPP开发直通车-第零篇
什么是DAPP DAPP 是以太坊发明的词汇 Decentralized Application. 目前基于区块链技术开发的应用程序广泛的接受使用了这一名称. NEL将为开发DAPP提供全面的服务 ...
- 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
摘要: 全球开源区块链领域影响最为广泛的Hyperledger Fabric日前宣布了1.1版本的正式发布,带来了一系列丰富的新功能以及在安全性.性能与扩展性等方面的显著提升.阿里云容器服务区块链解决 ...
随机推荐
- CSharp的Where底层实现
using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using Syst ...
- 56.dom如何映射数据
所谓的映射机制就是 页面的标签和js中获取的页面标签对象,无论修改哪一个,另一个都会随之更新 : 映射原理:浏览器在渲染页面的时候给每一个元素都设置了很多内置的属性(包含样式的), 当我们在J ...
- Android复习(二)应用资源——>更多类型
更多资源类型 本页面定义了更多类型的可具体化的资源,包括: Bool 带有布尔值的 XML 资源. 颜色 带有颜色值(十六进制颜色)的 XML 资源. 尺寸 带有尺寸值(包含度量单位)的 XML 资源 ...
- 两小时学会使用dubbo(直接API、spring、注解、springboot)
最近上新的项目中需要用到dubbo,于是我决定温故知新,决定分享一下Dubbo在各种环境下的使用方式,本篇文章让你两小时就能学会使用dubbo 什么是Dubbo Dubbo是一个分布式.高性能.透明化 ...
- 云原生周刊 | 使用 kube-reqsizer 自动调整资源配额
开源项目推荐 kptop Kubernetes API 提供的监控指标非常有限,而 kubectl top 就是利用 Kubernetes API 来查看 Node 和 Pod 的实时资源使用情况.k ...
- KubeSphere 社区双周报 | OpenFunction v0.8.0 发布 | 2022-12-09
KubeSphere 从诞生的第一天起便秉持着开源.开放的理念,并且以社区的方式成长,如今 KubeSphere 已经成为全球最受欢迎的开源容器平台之一.这些都离不开社区小伙伴的共同努力,你们为 Ku ...
- 买了个mini主机当服务器
虽然有苹果的电脑,但是在装一些软件的时候,从想着能不能有一个小型的服务器,免得各种设置什么帮我强各种别的导致Mac出现各种的异常,整体上的话去看了一些小的主机,看过苹果的MV迷你Mac,但是发现是太贵 ...
- Graphische Datenverarbeitung Ⅰ 学习笔记
1. Pipeline 1.1 Graphische Primitive 1.2 Model and View Transform 1.3 Vertex Shading 1.4 Clipping 1. ...
- vue3 + h5 构建流程
目录 目录 初始化项目架构 技术栈 工具类 环境 搭建流程 初始化项目 初始化git 运行项目 配置 server环境 vite.config.ts 配置项目环境 增加三个文件 修改package.j ...
- golang中defer的作用
defer是golang里面一个很有用的语法,但很多人可能都不太清楚它具体应该怎么用.这里记录一下自己学习到的内容. 应用场景 defer一般用于资源释放,当一个资源申请成功后,经常会在后面写一个de ...