FISCO BCOS离线部署问题记录并解决

这篇具有很好参考价值的文章主要介绍了FISCO BCOS离线部署问题记录并解决。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

因项目需求团队要求,部署的服务器都不能访问外网,所以自己尝试了区块链底层网络节点、控制台、Webase 等离线部署,当然也遇到遇到坑,由此记录下来。

步骤一:底层链的部署安装

借鉴参考这个博文思路完成的底层链部署安装,即在一台有网络的服务器先在线安装好,然后将提前预设好的无网络服务器 ip 信息提前设置好,再移动节点信息到无网络的离线服务器上。
没有什么坑,一路还算顺畅。
FISCO BCOS离线无网络部署安装系列教程之底层链的部署安装(思路一)

步骤二:配置并使用控制台

这里参考FISCO BCOS官网步骤即可,受步骤1启发,提前下载好download_console.sh脚本文件,安装官方下载路径即可。

配置并使用控制台

步骤三:部署及调用HelloWorld合约

这里依然参考官网步骤即可。
部署及调用HelloWorld合约

步骤四:webase 搭建

参考官网,需要提前装好 jdk 环境(建议1.8)
webase 搭建
也可以参考这个更全面复杂版本,因我们项目不需要如此复杂的功能,即采用官网版本即可
FISCO BCOS离线无网络部署安装系列教程之区块链浏览器fisco-bcos-browser v2.2.1的部署安装

步骤五:合约编译

当 webase 搭建好后,将项目所需合约文件(即.sol 文件)放到页面(http://x.x.x.x:5002/WeBASE-Front)合约管理页面功能-合约 IDE 中,将主合约编译、部署,即可在合约列表中看到。
fisco 离线安装和官方提供的有什么区别,区块链,服务器,错误集锦,区块链
合约列表中可看到编译部署后的合约,可通过调用合约测试合约方法是否生效
fisco 离线安装和官方提供的有什么区别,区块链,服务器,错误集锦,区块链

期间需要先创建一个测试用户才行,后续也会用到这个用户的.pem 文件
fisco 离线安装和官方提供的有什么区别,区块链,服务器,错误集锦,区块链

步骤六:分布式存储数据–链下mysql同步链上数据(世界状态库)

因项目查询速率需求,我们做了链下 mysql 同步链上数据的扩展需求,分别拉取了世界状态库数据和历史状态库数据,这步为同步世界状态库数据。
参考官网步骤分布式存储

踩坑1:mysql 版本选择

前提需先离线安装 mysql(建议5.7版本)一个小坑,我离线部署时使用 docker 的mysql8版本镜像试过,不能实现分布式存储数据同步,所以建议还是采用官网使用的5.7版本为好。

踩坑2:group.1.ini配置文件修改

根据官网步骤操作到修改group.1.ini配置文件时,除了官方所说的数据库名称、用户名、密码、ip、端口号需要修改的同事,还要注意一个小细节也要修改,就是在storage 下有一个 type 类型,默认的是 rocksdb,但是因为我们项目采用的是 mysql 所以这里也要同步改成 type=mysql 才行,这个真是隐藏的大坑呀,官网教程也是用的 mysql 却一点没有提及修改此处。
fisco 离线安装和官方提供的有什么区别,区块链,服务器,错误集锦,区块链

步骤七:数据导出系统组件–链下mysql同步链上数据(历史状态库)

除了世界状态库,区块链更多需要溯源、检索等需求的时候就需要查询历史状态了,所以还需要同步历史状态库,同理也是参考官网部署方式数据导出系统组件
基本也是安装官网,将所需的脚本先下载好,再移动到离线服务器上,再通过修改一些配置文件等操作达到目的。

踩坑1:脚本执行中需要下载安装gradle

但是这次的脚本不能直接在离线服务器上运行,因为脚本中涉及到下载gradle wrapper,但是在离线服务器中是没有办法连接外网的,所以此行不通,我也有尝试在服务器中自己安装,但是执行脚本的时候还是会有依赖包等问题,总之就是此行不通了。
解决方式:也是借鉴步骤1的思路,在一个可联网的环境下先执行脚本运行完成,生成脚本运行后的 Data-Export*.jar 包,再移动到离线服务器中即可。

踩坑2:配置文件环境更改

在application.properties文件修改中的 ip应该修改为离线服务器的 ip,替换掉127.0.0.1,不然运行 jar 本会访问底层链不通

踩坑2:配置合约

遇到运行 jar 包后出现合约方法和事件数据没有导出的情况,最终还是根据官方提示,删除config/solidity/下已配置的未成功导出数据的合约,并将config/solidity/bin/(非国密目录/ecc/、国密目录为/sm/)下bin文件的内容替换为合约部署位置(如WeBase)编译得到的binary,然后清理数据库表重新启动即可
fisco 离线安装和官方提供的有什么区别,区块链,服务器,错误集锦,区块链

附功能提示

1:端口检查

因离线服务器,所有的端口都没有默认开启,所以上述操作中遇到用到的一些常用端口需要自己手动打开防火墙,比如(3306、20200、30300、8485、5002)等

firewall-cmd --list-ports	#查看已经开放的端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent #开放端口3306
firewall-cmd --reload		#重启firewall
firewall-cmd --list-ports	#检查3306是否开放

2.docker启动 mysql 时区选择

因我后续更改为 docker 启动 mysql5.7版本,服务器的时区检查(date 命令)后显示是 CST,但是通过 docker启动的 mysql 版本默认时区是 UTC,所以就出现时区不一致,当时启动历史版本库的 jar 包的时候一直创建不了 data-export 库我以为是这个时区的问题,好折腾了一翻,也记录一下吧。
在docker 创建容器时给设置时区如下命令:

docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -e TZ=Asia/Shanghai -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0

修改Docker容器中的mysql时区的三种方式
mysql 怎么修改时区

3.其他博文参考

CentOS7.5离线安装jdk1.8
centos7下离线安装MySQL5.7文章来源地址https://www.toymoban.com/news/detail-790049.html

到了这里,关于FISCO BCOS离线部署问题记录并解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • fisco-bcos 部署企业级国密区块链

    首先说明,我目前所用的fisco-bcos generator企业部署版本尚不支持docker部署,只能在主机上直接部署。 下面进入正题 我们本次搭建的是三机构A、B、C组成的联盟链,AB首先组成群组Group1,C后期加入Group1。 本文所有的操作目录都是基于generator文件夹 在A、B、C三台机器上下载并安

    2024年02月03日
    浏览(33)
  • Java SDK部署和调用FISCO BCOS区块链智能合约

    使用WeBASE合约管理导出Java项目 启动FISCO节点和webase-front,部署服务详情可参考官方文档: link 1.编写智能合约 一个简单的例子: Table 合约:该合约负责维护候选人的信息。每个候选人都有一个唯一的标识符sign_key,以及与之相关联的其他属性,包括活动名称activity_name、参与

    2024年03月22日
    浏览(43)
  • FISCO BCOS入门(十二)使用Docker部署区块链和多群组部署

    使用Docker部署区块链可以简化部署过程、提供环境一致性、增加可移植性、提升灵活性和可扩展性,并提供一定的安全性保障。这些好处使得Docker成为一种流行的部署方式,广泛应用于区块链开发和生产环境中。 前两步跟之前一样 1.安装 curl, openssl依赖 2.下载build_chain.sh脚本

    2024年03月15日
    浏览(43)
  • 在kubernetes(k8s)集群上部署FISCO BCOS区块链系统

    三台ubuntu22.04主机(分别为 ubuntu:192.168.3.54 ; worker1:192.168.3.57 ; worker2:192.168.3.58 ) 安装docker,kubernetes 三台主机加入同一kubernetes集群 使用上篇文章《使用Docker容器化部署FISCO-BCOS区块链系统》中的第二个方法,在ubuntu这台主机上生成运行在三台主机上的区块链节点 分别进入

    2024年02月05日
    浏览(27)
  • FISCO BCOS 六、通过Caliper进行压力测试程序(及常见问题)

    目录 1. 环境要求 第一步. 配置基本环境(这里我使用的是Ubuntu20.04) 第二步. 安装NodeJS 第三步. 部署Docker 第四步. 安装Docker Compose 2. Caliper部署 第一步. 部署 第二步. 绑定 第三步. 快速体验FISCO BCOS基准测试 3.常见问题 问题1:dial unix /var/run/docker.sock: connect: permission denied​编辑

    2024年02月08日
    浏览(27)
  • FISCO BCOS区块链系统新增节点时无法同步数据的原因及解决方法

    最近在搭建FISCO BCOS区块链系统,但是在一个旧的区块链上新增一个区块链节点时出现了一些问题 目前的区块链拥有三个节点,区块链中已经部署了一些合约,产生了一些交易,因此最新的块高为21。现在我想要在这个区块链系统中新增一个节点,而且需要它同步之前产生的一

    2024年02月02日
    浏览(32)
  • Fisco Bcos区块链一(搭建单群组FISCO BCOS联盟链)

    技术文档:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/index.html 1、搭建单群组FISCO BCOS联盟链 1. 安装centos依赖包 安装依赖包openssl、curl 2. 创建操作目录, 下载安装脚本 如果因为网络问题导致长时间无法下载build_chain.sh脚本,请尝试 3. 搭建单群组4节点联盟链 在fisco目录下执

    2024年02月10日
    浏览(38)
  • 【FISCO-BCOS】十四、使用Caliper进行压力测试fisco-bcos

            前言:根据操作系统版本不同,部署环境不同,一些细节差别可能造成测试失败等问题,此文仅做参考,应以实际应用为主。         参考官方文档:压力测试指南 — FISCO BCOS v2.9.0 文档 部署Caliper的计算机需要有外网权限; 操作系统版本需要满足以下要求:Ub

    2024年02月15日
    浏览(33)
  • FISCO-BCOS 十四、使用Caliper进行压力测试fisco-bcos

            前言:根据操作系统版本不同,部署环境不同,一些细节差别可能造成测试失败等问题,此文仅做参考,应以实际应用为主。         参考官方文档:压力测试指南 — FISCO BCOS v2.9.0 文档 部署Caliper的计算机需要有外网权限; 操作系统版本需要满足以下要求:Ub

    2024年02月16日
    浏览(33)
  • FISCO BCOS

    一、wsl(windows子系统)安装步骤 wsl(windows子系统)简要介绍和安装步骤_Once_day的博客-CSDN博客_wsl 1、自动安装命令         管理员身份打开CMD,输入wsl --install。 用时很长特别是安装Ubuntu时,可以参考上面博客自行安装。可以在那一步退出,然后到应用商店安装。完成后重启即可

    2024年01月20日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包