一、联盟链

1. 安装依赖

## macos 环境安装依赖
brew install openssl curl
## ubuntu 环境安装依赖
sudo apt install -y openssl curl
## centos 环境安装依赖
sudo yum install -y openssl openssl-devel

2. 搭建联盟链

# 使用 -l 和 -p 生成单机联盟链  本地使用-e ./fisco-bcos
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545

执行成功后,我们将看到当前目录下生成了一个 nodes 目录。nodes 目录下存在两个目录,分别是 127.0.0.1 和 cert ,我们进入 127.0.0.1 目录 ,执行执行 bash start_all.sh , 看到输出 “start successfully” 表示节点启动成功。至此,一切顺利的话,我们的链就创建并启动成功了

检查是否启动成功
ps -ef |grep -v grep |grep fisco-bcos

检查日志目录的连接
tail -f node0/log/log* | grep connected

检查共识连接
tail -f node0/log/log* | grep +++

扩容一个新节点

1.将其中主节点的cert 复制粘贴到新的文件夹下 fisco-new

//如果复制之后fisco_new文件夹里没有cert就重新启动一下服务器
cp -r fisco/nodes/cert fisco-new/

2.下载gen_code_cert.sh 来生成新的节点

cd fisco-new
curl -#LO https://raw.githubusercontent.com/FISCO-BCOS/FISCO-BCOS/master-2.0/tools/gen_node_cert.sh
mkdir 192.168.0.164

3.生成新节点的证书(-c为生成节点所提供的ca路径,agency为机构名,-o为将生成的节点目录名)

//创建目录
mkdir 192.168.0.164
//可能会报没有权限,直接添加权限
chmod u+x *.sh
//生成新节点的证书
./gen_node_cert.sh -c ./cert/agency -o 192.168.0.164/node_new

4.将主节点其中一个节点的config.ini、start.sh、stop.sh 复制到 (新节点)node_new文件夹中

cd 192.168.0.164
cp /home/fisco/nodes/127.0.0.1/node0/config.ini /5.home/fisco/nodes/127.0.0.1/node0/start.sh /home/fisco/nodes/127.0.0.1/node0/stop.sh node_new/

5.修改node4/config.ini。对于[rpc]模块,修改channel_listen_port=20204和jsonrpc_listen_port=8549;对于[p2p]模块,修改listen_port=30304并在node.中增加自身节点信息;

vim config.ini

6.启动报错修改 vim start.sh 到自己的目录

执行node4/start.sh启动节点;

7.确认node4与其他节点连接已经建立,加入网络操作完成。

tail -f node_new/log/log*  | grep "connected count"

8. 节点加入群组 (获取node4的nodeid)

cat node4/conf/node.nodeid

得到类似下面的字符串就是nodeid,nodeid是节点公钥的16进制表示,国密请执行cat node4/conf/gmnode.nodeid

9.使用控制台将node4加入群组1

使用addObserver将node4作为观察节点加入群组1

使用addSealer将node4作为共识节点加入群组1

3. -e 使用存在的 fisco 二进制生成单机联盟链cp -r fisco/nodes/cert fisco-new/

上面所说的,如果测试的话,需要经常把链删除并重建,每次去 github 拉取,网络好的话不会有问题,网络慢的话就要等很久。所以这我们可以使用已经存在的二进制进行链的搭建。在 fisco 目录下创建一个新的目录,名为 bin, 然后把 nodes/127.0.0.2/fisco-bcos 这个二进制放到 bin 目录中,然后删除 fisco 目录下的 nodes ( 如果没有删除的话,执行 build_chain.sh 会提示 nodes 目录已存在) 。之后目录结构如下

执行如下命令,使用已存在的 fisco-bcos 二进制生成链节点。执行成功,我们可以注意到,输出的信息中没有 Downloading 字样,表明 build_chain.sh 没有去 github 拉取 fisco-bcos 二进制。
bash build_chain.sh -l 127.0.0.2:4 -p 30300,20200,8545 -e bin/fisco-bcos

4.使用 -g 生成国密节点

首先,删除 fisco/nodes 目录,然后执行如下命令。
bash build_chain.sh -l 127.0.0.2:4 -p 30300,20200,8545 -e bin/fisco-bcos -g

链生成成功,查看 nodes/127.0.0.2/node0/config.ini 文件,可以观察到 sm_crypto 这个参数为 true, 表示当前节点为国密节点。

5. 使用 -v 参数指定版本

因为兼容性的考虑,fisco-bcos 二进制高版本兼容低版本的配置。这里,我们使用 fisco-bcos v2.7.2 的二进制,配置兼容版本为 v2.5.0
bash build_chain.sh -l 127.0.0.2:4 -p 30300,20200,8545 -v v2.5.0 -e bin/fisco-bcos

执行成功,进入 nodes/127.0.0.2/node0 目录,查看 config.ini 文件,可以看到 supported_version 字段值为 2.5.0。 在 fisco/nodes/127.0.0.2 目录下,执行 ./fisco-bcos -v , 可以看到输出的二进制版本为 v2.7.2。

6.使用 -f 参数指定 ip list 文件, 生成多机节点

当需要生成多个主机的节点时,使用命令行方式难免显得复杂,使用文件指定 ip list 的方式,会显得精简很多。首先删除 fisco 目录下的 nodes 文件夹。之后创建文件 iptable,内容如下。其中 “agency1 1,2" 这个值的具体作用,新手朋友可以暂时不用关注,在我后续的 console 使用文章中会有讲解。

iptable 文件内容

127.0.0.2:4 agency1 1,2 30300,20200,8545
127.0.0.3:4 agency1 1,2 30300,20200,8545

之后执行如下命令生成节点。

bash build_chain.sh -f iptable -e bin/fisco-bcos

进入到 nodes 目录,即可看到生成两个节点文件夹 127.0.0.2, 127.0.0.3

7. 使用 -d 生成 docker 节点

首先删除 fisco 目录下的 nodes 目录,然后执行如下命令 ( 因 macos 暂不支持 docker 部署,所以这里使用 centos 进行演示 )
bash build_chain.sh -l 127.0.0.2:4 -p 30300,20200,8545 -d

执行成功,节点生成成功。对比 nodes_backup/127.0.0.1/node0/start.sh 和 nodes/127.0.0.2/node0/start.sh 文件,文件可以发现脚本的启动方式一个为 docker ,一个为非 docker。具体可参考 FISCO 官网

二、配置及使用控制台

1、准备依赖

  • 安装java

sudo apt install -y default-jdk

  • 下载 Console控制台

curl -LO https://github.com/FISCO-BCOS/console/releases/download/v2.8.0/download_console.sh && bash download_console.sh

  • 解压Console
tar zxvf console.tar.gz
  • 拷贝控制台配置文件
cp -n console/conf/config-example.toml console/conf/config.toml
  • 配置控制台证书
cp -r nodes/127.0.0.1/sdk/* console/conf/
  • 启动并使用控制台
#进入到console目录
bash start.sh

输出下述信息表明启动成功 否则请检查conf/config.toml中节点端口配置是否正确

  1. 用控制台获取信息

#获取客户端版本信息
getNodeVersion

获取节点信息

getPeers

部署智能合约

在fisco/console/contracts/solidity目录添加智能合约文件,使用deploy 文件名启动

执行智能合约

三、WeBASE-Front安装使用

1.下载安装包

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

2.解压

unzip webase-front.zip
cd webase-front

3.拷贝sdk证书文件(build_chain的时候生成的)

cp -rf nodes/127.0.0.1/sdk/* webase-front/conf/

4.服务启停

启动: bash start.sh
停止: bash stop.sh
检查: bash status.sh

区块链搭建联盟链及控制台安装相关推荐

  1. 不同类型的以太坊区块链及其部署:区块链类型:公有链,联盟链,私有链、安装部署以太坊。

    第三章 文章目录 第三章 一.区块链类型 1.公有链 2.联盟链 3.私有链 二.安装部署以太坊. 1. 安装 总结 一.区块链类型 根据区块链网络类型分类:私有链.联盟链.共有链. 1.公有链 主网 ...

  2. Ubuntu搭建联盟链,实现节点之间数据同步

    安装go环境 从参考链接选择Linux版本的go的安装包 使用命令  mv go(Tab补全)/usr/local  移动go安装包到/usr/local目录下 使用命令解压  sudo tar -x ...

  3. 以太坊搭建联盟链教程

    Quorum是一种基于以太坊的分布式分类账协议,具有交易/合同隐私和新的共识机制. Quorum是go-ethereum的一个分支,并根据go-ethereum发布进行更新. go-ethereum的 ...

  4. 区块链开发(十二)公有链、联盟链、私有链及网络配置介绍

    以太坊网络 去中心化共识的基础是参与节点的点对点网络,节点维护并保证区块链网络的安全.参见挖矿. 以太坊网络数据统计 EthStats.net是以太坊网络实时数据的仪表板,这个仪表板展示重要信息,诸如 ...

  5. 公有链、私有链、联盟链、许可链,这些区块链又分别代表着什么意思?

    想知道更多区块链技术知识,请百度[链客区块链技术问答社区] 链客,有问必答!不同的区块链,有着不同的内涵和功能.在区块链领域经常出现的公有链.私有链.联盟链.许可链,这些区块链又分别代表着什么意思?1 ...

  6. 蚂蚁区块链开放联盟链发布会 | 巴比特全程支持

    [直播介绍] 蚂蚁区块链"开放联盟链"面向中小企业和开发者发布,三重福利助推全民入链: 注册即获赠1亿开发燃料GAS: 购买即享受GAS翻倍.企业版半价购和阿里流量助力: 领取现金 ...

  7. 区块链的未来:公链VS联盟链

    早科技音频:00:0009:47 区块链在历经这几年的发展后,到现在已经有了不少成果产出.不少技术积累,也在一些行业有成熟的落地项目.而在区块链的起步过程中,同样将区块链作为国家战略的中国和美国,对于 ...

  8. 区块链知识汇总练习——私有链、公有链、联盟链、元宇宙、AR技术

    1.扩容是为了解决什么问题 • A.网络拥堵,信息传输满 • B.电脑内存有限 • C.网速太慢,需要加大区块的容量 • D.比特币网络拥堵,交易确认慢 正确答案:D 答案解析:一般我们所理解扩容是什 ...

  9. 区块链公有链、私有链和联盟链是什么?它们有什么特点?

    一.区块链简介 区块链是分布式数据存储.点对点传输.共识机制.加密算法等计算机技术的新型应用模式,是比特币的一个重要概念.它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法 ...

  10. 区块链中公有链、联盟链和私链的区别

    区块链中公有链.联盟链和私链的区别 公有链 公有链,公有指的是全球开放,任何人都可以自由的读取数据.发送交易和参与记账.公有链属于真正的去中心化,它通过共识决定那个block最终被加到chain中. ...

最新文章

  1. 2022-2028年中国改性尼龙行业市场全景评估及产业前景规划报告
  2. boost::boost::stoer_wagner_min_cut用法的测试程序
  3. 电脑关闭计算机怎么重启计算机,教您电脑关机后总是重启怎么办
  4. erlang 架构原理_Erlang与Java内存架构
  5. 天池-新闻推荐-多路召回
  6. html5 渐变色矩形,使用HTML5画布元素的矩形渐变
  7. Spark的输出提交控制器OutputCommitCoordinator
  8. myeclipse 上安装 Maven3
  9. 奇妙的算法(2)—— 求平方根
  10. lg空调代码大全解决_LG空调故障代码大全-kg空调维修-lg空调维修手册
  11. 浏览器保存图片时,将jfif改为jpg格式
  12. 计算机毕业设计JavaWeb企业客户管理系统(源码+系统+mysql数据库+lw文档)
  13. flickr slack_Slack&Flickr的创始人如何将巨大的失败变成十亿美元的公司
  14. 15个iOS的视频播放控件
  15. js高级动画02--阻止事件冒泡,默认行为以及一些案例
  16. 微信支付银行卡限额是多少?
  17. [转]jQuery美化表格插件 - tablecloth.js
  18. 谷歌裁员1.2万人....
  19. 【前端使用插件js-export-excel导出excel】
  20. godoc 的安装使用

热门文章

  1. ps 图片处理技法 怎样使照片看起来更加清晰
  2. java 工厂模式例子_java 工厂模式简单介绍及例子
  3. windows下制作iso文件,WinMount介绍
  4. operating system not found的问题的解决办法 ---设置活动分区
  5. spark算子--action篇
  6. A股和债市短期看好,后期需提防回调,建议逐步减仓观望
  7. 虚拟机设置共享文件夹之后看不见文件(失败合集+成功分享)
  8. [Arch]常用软件安装使用
  9. 新版标准日本语初级_第四十八课
  10. Java求100000以内素数_100000以内的质数表