基于FISCO-BCOS搭建第一个区块链网络

news/2025/2/23 17:39:40

一、前言介绍:

        本篇博客以Ubuntu虚拟机为例

        本篇博客我会大致介绍“搭建第一个区块链网络”的搭建过程,具体的还是要查看FISCO-BCOS的官方文档。会着重介绍在搭建过程中可能遇到的一些报错,以及解决报错的常用方法。

        参考FISCO-BCOS的官方文档(搭建第一个区块链网络 — FISCO BCOS 2.0 v2.11.0 文档)


二、FISCO-BCOS介绍:

        FISCO BCOS 是一个稳定、高效、安全的区块链底层平台,经过多家机构、多个应用,长时间在生产环境运行的实际检验。在此不过多介绍Fisco-Bcos,有兴趣的可以点击下面的官方链接FISCO BCOS 2.0 技术文档 — FISCO BCOS 2.0 v2.11.0 文档


三、区块链网络搭建过程(以Ubuntu虚拟机为例):

        区块链初学者可以将本篇博客作为练习“搭建第一个区块链网络”的指南,毕竟没有给出任何代码提示,只给出了必要的下载网址;

        1.首先要安装Ubuntu依赖,一般在root模式下安装;

sudo apt install -y openssl curl

        2.创建一个操作目录以便后面的操作,在目录中下载安装脚本;

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

        3.搭建单群祖4节点联盟链,并确保30300—30303、20200—20203、8545—8548端口没被占用;

        4.对应目录下开启所有节点,从而启动FISCO BCOS链;

        5.检查进程是否被启动;通过查看节点node0连接的节点数,从而检查日志;通过查看返回值有没有+++来检查是否存在共识;

        6.安装java依赖、获取控制台并回到fisco目录;

sudo apt install -y default-jdk
cd ~/fisco && curl -LO https://github.com/FISCO-BCOS/console/releases/download/v2.9.2/download_console.sh && bash download_console.sh

        7.拷贝控制台配置文件、拷贝控制台配置证书;

        8.启动控制台,如果失败检查conf/config.toml中的节点端口是否则正确;

        9.用控制台获取版本信息,获取节点信息;

        10.部署HelloWorld合约;

        11.查看当前块高,调用get接口获取name变量;

        12.查看块高,快高不变,get接口不更改接口状态,调用set设置name;

        13.查看块高,块高增加表示已出块,账本状态已更改;

        14.调用get接口获取name变量,检查设置是否生效;

        15.退出控制台。


四、常见报错及解决方法:

        1.网络错误解决方法一:

        当遇见网络错误时,通常在Ubuntu终端ping一个域名来检验自己虚拟机网络是否连接;譬如ping baidu.com 没有返回值时,可以执行命令 sudo declient ens33 ,再次ping baidu.com时会发现有返回值并且会一直出现返回值;从github拉取文件时也可以使用 ping github.com 来检验终端是否连接到 github;ping 操作如下图所示👇;

        2.网络错误解决方法二:

        (1)方法一不能使用时,需要进入root模式,执行vim /etc/hosts ,通过添加网关 140.82.112.3 github.com 199.232.69.194 github.global.ssl.fastly.net ,来实现虚拟机与github网站的连接。网关添加成功之后需要保存退出,再次ping baidu.com 或 ping github.com 来检查虚拟机是否与网站成功建立联系;

        

        (2)当从GitHub拉取文件时,需要虚拟机与github.com保持网络连接,当多次拉取文件提示失败时就要ping github.com 来检查是否与github网站建立联系;如下图所示时ping github.com成功之后的返回样式,会一直弹出连接信息,快捷键停止更新信息是Ctrl+C

        3.命令软件包的安装:

        (1)例如下面这张图片,我们在使用命令vim之前未安装vim命令,导致系统报错,未找到命令“vim”,同时也给出了安装建议,并指出具体的安装操作,并且还是使用sudo命令安装,使用sudo命令安装可以避免用户模式下安装权限不够,导致安装失败;但是需要输入root密码

      (2)我们可以根据自己的版本需要来执行不同的安装命令,后面是版本信息,前面对应的是安装命令;下图以安装vim为例,会询问sudo密码,这是自己提前设置好的,在安装过程中会询问“您希望继续执行吗?[Y/n]”,输入y系统会继续安装命令,输入n系统会中止安装命令;

        (3)其实有一个小技巧,利用系统提醒来选择具体的安装指令;譬如在安装命令curl 时不知道具体的安装指令,并且在未安装的前提下,可以直接输入curl 点击回车,然后通过系统给出指示来选择自己所需要的指令;如下图所示:

五、后序:

        本篇博文就到此为止,后面会继续更新。

        对智能合约感兴趣的可以去看看我的智能合约专栏


http://www.niftyadmin.cn/n/5863624.html

相关文章

Android14 Camera框架中Jpeg流buffer大小的计算

背景描述 Android13中,相机框架包含对AIDL Camera HAL的支持,在Android13或更高版本中添加的相机功能只能通过AIDL Camera HAL接口使用。 对于Android应用层来说,使用API34即以后版本的Camera应用程序通过Camera AIDL Interface访问到HAL层…

TCP/UDP调试工具推荐:Socket通信图解教程

TCP/UDP调试工具推荐:Socket通信图解教程 一、引言二、串口调试流程三、下载链接 SocketTool 调试助手是一款旨在协助程序员和网络管理员进行TCP和UDP协议调试的网络通信工具。TCP作为一种面向连接、可靠的协议,具有诸如连接管理、数据分片与重组、流量和…

@media 的常用场景与示例

media 的常用场景与示例 1. 基本概念2. 常用场景2.1 不同屏幕宽度的布局调整2.2 隐藏或显示元素2.3 字体大小调整2.4 图片大小调整2.5 高度调整2.6 颜色调整2.7 鼠标悬停效果 3. 常用示例3.1 基本响应式布局3.2 隐藏侧边栏3.3 字体大小和图片大小 4. 总结 在现代网页设计中&…

【架构】事件驱动架构(Event - Driven Architecture,EDA)

一、事件驱动架构理论基础 事件驱动架构(Event - Driven Architecture,EDA)是一种软件设计范式,事件驱动的体系结构由生成事件流、侦听这些事件的事件使用者以及将事件从生成者传输到使用者的事件通道组成。 在事件驱动架构中,系统的行为由事件触发。事件可几乎实时发送,…

苹果确认iOS 18.4四月初推出:Apple Intelligence将迎来中文支持

在科技飞速发展的当下,人工智能(AI)已经成为智能设备领域的核心竞争力之一。苹果公司作为全球科技行业的领军者,其在AI领域的每一步动作都备受关注。2025年2月20日,苹果公司正式宣布,将于4月初推出iOS 18.4…

Linux中ps -ef命令详解

ps -ef 是一个常用的 Unix/Linux 命令,用于显示当前系统中所有进程的详细信息。具体来说,ps 是 "process status" 的缩写,用于查看进程的状态。-ef 是 ps 命令的选项组合,用于指定输出的格式和内容。 选项解释&#xf…

Linux命令行导出Emacs ORG文档为HTML

个人博客地址:Linux命令行导出Emacs ORG文档为HTML | 一张假钞的真实世界 Emacs版本25.2。使用以下命令将org文档导出html: emacs {orgFile} --batch --eval "(require ox)" --eval "(org-html-export-to-html)" 批量导出目录下的…

PWR电源控制详解教程文章 ~内置初始化驱动代码!!!

文章目录 前言 stm32 cpu默认频率基础知识详解 降低频率会影响指令执行速度 stm32 cpu芯片超频 PWR 基础知识详解 stm32内部电源供电基础知识详解 电压调节器模式 低功耗模式基础知识详解 低功耗模式不同频率耗电详解图 前言 在使用锂电池作为系统电源供应的开发中&am…