目录
-
安装Git(v2.43.0)
Git 是一个开源的分布式版本管理系统(也是全球最大的开源软件存储服务器),用于敏捷高效地处理任何或小或大的项目。搭建区块链需要使用Git,因为区块链的开发和部署需要使用版本控制工具来管理代码和协同开发。Git是一个流行的版本控制工具,可以方便地管理代码的版本、分支和合并等操作。在搭建区块链的过程中,您可以使用Git来管理代码,确保多人协同开发和部署的正确性和一致性。
1.复制粘贴链接Git 的 (git-scm.com),下载
2.对于Ubuntu 版本的最新稳定版本,输入命令:
apt-get install git
3.对于 Ubuntu,此 PPA 提供了最新的稳定上游 Git 版本,输入命令:
add-apt-repository ppa:git-core/ppa # apt update; apt install git
4.配置下git
git config --global user.name “aaa”
git config --global user.email "aa@qq.com"
其中,aaa为你在git官网的用户名;
aa@qq.com为你的邮箱地址
查看版本:
-
安装Node(v12.22.9)和npm(v8.5.1)
Node.js可以提供以下功能:
- 处理交易:Node.js负责处理所有的交易请求,并将这些交易广播到网络中的其他节点。
- 验证交易:Node.j
- s会对每笔交易进行验证,确认其合法性和真实性。
- 存储数据:Node.js会存储区块链数据,并保证数据的完整性和一致性。
- 实现智能合约:Node.js还可以用于执行智能合约,从而使得区块链能够实现更加丰富的功能和应用。
如果您需要构建一个完整的区块链节点,包括交易处理、共识算法、网络通信等功能,那么您可能需要使用Node.js来实现。但是,如果您只是需要构建一个区块链应用的部分功能,比如智能合约或前端界面,那么您可以选择其他编程语言来实现,而不需要使用Node.js。
- 检查系统已有的Node.js版本:
在安装Node.js之前,我们首先要检查系统中是否已有Node.js版本。可以通过以下命令行检查:
![](https://img-blog.csdnimg.cn/e5bee77a48d243b68e7c35c5233a1536.png)
如果已经安装了Node.js,则会输出它的版本号。如果没有安装,则会提示找不到命令。
2.开始安装,有三种方式:包管理器安装、nvm是Node.js的版本管理器、源代码安装。
下面我使用包管理器安装Node.js
Linux用户可以使用包管理器安装Node.js,这是最好的方法。目前最受欢迎的包管理器是APT和Yum。
对于Ubuntu或Debian用户,可以使用以下命令sudo apt-get nodejs
安装Node.js:
![](https://img-blog.csdnimg.cn/f095bd8b5f6342c3815685b4d073417d.png)
3.在安装完成后,可以通过以下命令验证Node.js是否安装成功:
![](https://img-blog.csdnimg.cn/43fdccb6925b42858155621029cce055.png)
方式二:如果我们需要同时安装多个版本的Node.js,则可以使用nvm工具,而不是使用系统默认的包管理器。nvm是Node.js的版本管理器,可以让我们轻松地在不同的Node.js版本之间切换。
方式三:通过源代码安装指定版本或者最新版本(查看官网Download | Node.js (nodejs.org))。
方式二、三操作可参考linux系统系统安装nodejs-前端问答-PHP中文网
npm是Node Package Manager(Node.js包管理器)的缩写,是Node.js社区最流行的包管理工具之一。它不仅提供了包管理的功能,还提供了发布和共享代码、管理依赖、版本控制等功能,可以帮助开发者更方便地开发和分享代码。使用npm可以从一个全球的代码库中获取并安装Node.js模块,这些模块可以用于构建应用程序、工具和包等。开发者可以通过npm来搜索、安装、更新和卸载各种Node.js模块。npm包管理器还支持各种依赖关系管理工具,如开发依赖、生产依赖、测试依赖等,可以帮助开发者更好地管理自己的项目。
1.开始安装npm:apt-get install npm
![](https://img-blog.csdnimg.cn/43b46c263f8f4b31b4000e1361f525c0.png)
2.在安装完成后,可以通过以下命令验证Node.js是否安装成功:
![](https://img-blog.csdnimg.cn/af343133cdb843f2bf179736dc253ff8.png)
关于如何使用、管理、升级Node.js模块参考:linux下安装nodejs及npm-前端问答-PHP中文网
-
Fabric及环境部署
官方下载文档:A Blockchain Platform for the Enterprise — hyperledger-fabricdocs main documentation
1.1 创建工作目录
将Fabric代码按照GO语言的推荐方式进行存放,创建目录结构并切换到该目录下。具体命令如下:
mkdir -p ~/go/src/github.com/hyperledger/
1.2 下载fabric
将Fabric代码按照GO语言的推荐方式进行存放,创建目录结构并切换到该目录下。具体命令如下:
cd ~/go/src/github.com/hyperledger
在以上目录下去克隆,输入命令,多试几次才能克隆成功,
git clone https://github.com/hyperledger/fabric.git
输入版本号:由官网链接https://github.com/hyperledger/fabric/releases可知目前,最新版本为V2.5.5
cd ~/go/src/github.com/hyperledger/fabric
git checkout v2.5.5
可能产生的问题:路径规格 'v2.5.5' 未匹配任何 git 已知文件
解决:一定注意要cd到你所建立的文件夹中~/go/src/github.com/hyperledger/fabric,路径要正确。
1.3 下载fabric docker镜像文件
输入以下命令切换工作路径:
cd ./fabric/scripts/
我们运行这个脚本,下载我们需要的 Fabric2.5.5 镜像。 命令如下:
ls
./bootstrap.sh
由于需要下载的镜像比较多,因此可能会花费一些时间。待下载完成之后脚本会显示这些镜像。
实录截图:
至此,下载 fabric 源码、fabric-samples 源码、fabric 镜像的工作已经完成
执行 ls 命令,查看在当前目录下多了 fabric-samples 目录:
下载完成后(大概需要5-10分钟)
且会自动列出所下载的 docker 镜像,具体如下所示:
下载镜像过程中会出现该问题启动/network.sh up命令出现以下错误导致下载镜像失败,
在启动/network.sh up命令出现错误的时候,一般是缺少一些二进制文件,和一些docker镜像因为在执行./bootstrap.sh命令的时候,实际上是进行了一些二进制文件的下载和镜像的下载,可能没有下载成功,缺少相应的文件,导致运行测试网络失败。
解决办法:自己去官网下载相应的二进制的文件,然后解压
参考:
Hyperledger fabric 2.3基本环境安装 - linux-CSDN博客
原文链接:Hyperledger fabric 2.3基本环境安装 - linux-CSDN博客
- 执行 ./bootstrap.sh 命令,下载完成
- 将hyperledger-fabric-linux-amd64-2.3.0.tar.gz文件中的bin目录还有config目录拷贝到fabric-samples目录下
(1)先查看fabric-samples目录下:
(2)前往目录/home/lhp/下载下查看压缩包,并解压,
会自动列出其中三个文件夹:
(3)复制bin目录还有config目录到fabric-samples目录下:
验证是否有bin目录和config目录:
- 将hyperledger-fabric-ca-linux-amd64-1.4.6.tar.gz文件中的bin目录下的fabric-ca-client 和fabric-ca-server两个文件放到fabric-samples目录下的拷贝的bin目录下
2. 启动Fabric网络
将Fabric代码按照GO语言的推荐方式进行存放,创建目录结构并切换到该目录下。具体命令如下:
进入test-network文件夹,启动测试网络
./network.sh up
显示如下:若出现以下界面,则测试成功
在1.1--2过程可能产生的问题
问题1:
从网页端下载不下来,报错:
解决方案:
方式一成功:
连接网速较快的网络(目前排除个人热点和校园网),复制该链接进行下载压缩包
https://github.com/hyperledger/fabric-ca/releases/
https://github.com/hyperledger/fabric/release
问题二:
git clone错误‘RPC failed; curl 56 Recv failure....’,如下:
“被重设”
出现此问题原因 http缓存不够或者网络不稳定等。
解决方案:
修改git配置:
①查看当前配置命令
git config -l
②httpBuffer加大
git config --global http.postBuffer 524288000
③压缩配置
git config --global core.compression -1
④修改配置文件
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1
以上配置文件修改,也可以大幅度提升git 克隆速度。