基于以太坊项目quorum多机多节点搭建_1

article/2025/9/13 4:35:20

准备工作

  • 环境搭建

我这里使用4台虚拟机来模拟实际网络,在这四台虚拟机里分别搭建了quorum节点。

我这里使用quorum maker 工具来搭建quorum

quorum maker 是一个带UI界面的自动化搭建quorum的工具。

  • quorum maker 安装

git clone https://github.com/synechron-finlabs/quorum-maker.git

附上Github地址里面自带了英文版的安装使用指南
https://github.com/synechron-finlabs/quorum-maker/wiki

拷贝完后,还需要安装docker

  • docker安装

  脚本我已经写好了,这个脚本实现自动安装docker容器

#! /bin/bash
sudo apt-get purge libappstream3 -y
sudo apt-get update
echo 更新软件列表成功
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common lrzsz -y
echo 安装CURL成功
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
echo 添加阿里云地址成功
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
echo 添加阿里云地址成功X
sudo apt-get update
echo 二次更新软件列表成功
sudo apt-get install docker-ce -y
echo 安装docker容器成功
sudo groupadd docker
echo 创建docker容器用户组成功
sudo gpasswd -a $(whoami) docker
echo 添加用户到用户组
newgrp docker
echo 更新docker用户组
sudo service docker restart
echo 重启docker
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
echo 添加加速器链接
docker version
sudo systemctl restart docker
echo 重启DOcker服务
sudo apt install docker-compose -y
  • 智能合约编译环境搭建

 我这里用的是node+web3来编译部署合约,当然也可以用truffle框架,不过我个人不喜欢用truffle框架。

这里附上我另一篇文章nodejs+npm+web3+solc环境搭建。

当然这个quorum maker里面集成了自动部署合约的功能。在他的右上角有一个自动部署合约的按钮。

 

  • 开始搭建quorum网络

  • 创建第一个节点

上面拷贝好代码后我们进入目录并且运行初始化脚本

cd quorum-maker &&  ./setup.sh

第一次运行脚本还需要下载docker镜像,它会自动识别并且拉取所需镜像,等待镜像下载完毕后重新执行./setup.sh即可。
docker镜像里面包含了quorum环境。

再次运行 ./setup.sh

出现了一个漂亮的界面。

我们在第一台虚拟机上执行创建网络

 

  • 其他节点加入网络

下面我们切换到其他虚拟机上

这时候他会像第一台主机请求连接

我们切换到第一台主机视角进入浏览器输入 http://localhost:22004/dashboard 进入当前节点UI管理界面

右上角出现了节点加入请求,我们点开它就可以了、如果这时候没有显示就刷新下页面。如果还是没有就检查是否填错了信息

quorum maker 还提供了白名单功能。需要连接的节点我们可以提前将那个节点的IP加入白名单。当那个节点连接的时候就无须验证自动加入网络。

 

这是quorum maker提供的API 。更多接口可以在他的github上找到。

https://github.com/synechron-finlabs/quorum-maker/wiki

  • 尝试节点加入白名单的时候遇到的坑

我这里是通过nodejs来调用/updateWhitelist的post请求的

之前调用的时候不知道IP需要以什么格式加入白名单。最终搞懂了是以    ["需要加入的IP地址"]   对象格式发送post请求来加入白名单。这个点在官方的github上都没写,浪费了我一个上午的时间来尝试.

现在附上代码

var request = require('request');
var url="http://localhost:22004/updateWhitelist";
var requestData=["192.168.1.141"]
httprequest(url,requestData);function httprequest(url,data){request({url: url,method: "POST",json: true,headers: {"content-type": "application/json",},body: requestData}, function(error, response, body) {if (!error && response.statusCode == 200) {console.log(body) // 请求成功的处理逻辑}});
};

如果想一次性加入多个IP到白名单的话加个逗号即可

 ["192.168.1.1",“192.168.1.22”] 

加入白名单后需要连接之后才能被激活。如果不连接不停地更新白名单的话,之后加的IP会覆盖掉前面的。

除非一次性写入

 


http://chatgpt.dhexx.cn/article/s3noHNDZ.shtml

相关文章

Quorum白皮书

Quorum白皮书下载

【quorum源码】quorum tessera源码剖析

目录 概述1. 项目结构2. 数据库结构3. 主要流程3.1 服务启动3.2 交易处理3.3 加密交易 4. Restful API4.1 Q2TRestApp4.2 ThirdPartyRestApp4.3 P2PRestApp4.4 EnclaveApplication 5. 一些核心接口App、Enclave相关的类图:com.quorum.tessera.server.TesseraServerc…

Quorum NWR算法

假如我们遇到这样一种事情:你开发实现了一套 AP 型的分布式系统,实现了最终一致性。业务也接入了,运行正常,一起看起来都那么美好。可是,突然有同事说,我们要拉这几个业务的数据做实时分析,希望…

paxosquorum

注: 这里谈论的2PC不同于事务中的2PC,而是专门为了同步和高可用改过的2PC协议 问题: 寻求一种能够保证,在给定多台计算机,并且他们之间由网络相互连通,中间的数据没有拜占庭将军问题(数据不会被伪造)的前…

分布式共识算法随笔 —— 从 Quorum 到 Paxos

分布式共识算法随笔 —— 从 Quorum 到 Paxos 概览: 为什么需要共识算法? 昨夜西风凋碧树,独上高楼,望尽天涯路 复制(Replication) 是一种通过将同一份数据在复制在多个服务器上来提高系统可用性和扩展写吞吐的策略, 。常见的复制策略有主从…

Quorum工作原理

文章目录 1. 概述2. 逻辑架构2.1 Quorum Node2.2 Constellation(星座)2.3 Tessera(特赛拉)2.4 Transaction Manager2.5 Enclave 3. 交易(事务)处理3.1 公开交易3.2 隐私交易3.3 交易处理3.4 隐私交易流程&a…

Quorum共识简析

背景 区块链共识是指多个节点或代理在给定的时间点就区块链状态达成一致的能力。当涉及区块链上分散记录保存和验证的核心功能时,单独依靠信任来确保添加到账本的信息是正确的可能会存在问题。因为没有中央实体来进行仲裁,这种问题在去中心化网络中更为…

Quorum区块链原理及其概念

Quorum概述 Quorum是由摩根大通研发的企业级区块链,用于解决金融或满足于企业需求的行业的需求的平台[56]。Quorum是基于以太坊扩展研发的一种联盟链,适用于对交易效率和吞吐量比较高的企业应用。Quorum作为以太坊的许可实施方案,对以太坊设…

Quorum 机制(分布式系统)

Quorum 机制,是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法,其主要数学思想来源于鸽巢原理。 基于Quorum投票的冗余控制算法 在有冗余数据的分布式存储系统当中,冗余数据对象会在不同的机器之间存放多份拷贝…

xgboost的原理,损失函数,优化,

不经感叹大佬真多,本文转自https://www.jianshu.com/p/7467e616f227 xgboostd多颗树的损失子树cart树,并且叶子节点为分数,不是类别,所有多棵树损失和容易优化,速度快分步提升,先优化一棵树,后面…

XGBoost简介

本文据此对XGBoost的原理做简单的介绍... XGBoost[1]是2014年2月诞生的专注于梯度提升算法的机器学习函数库,此函数库因其优良的学习效果以及高效的训练速度而获得广泛的关注。仅在2015年,在Kaggle[2]竞赛中获胜的29个算法中,有17个使用了XGB…

XGBoost原理及应用

XGBOST原理 XGBoost是使用梯度提升框架实现的高效、灵活、可移植的机器学习库,全称是EXtreme Gradient Boosting. XGBoost算法原理 其实算法的原理就是在一颗决策树的基础上不断地加树,比如在n-1颗树地基础上加一棵树变成n颗树的同时算法的精确率不断…

XGBoost原理与实例分析

这几天一直在研究XGboost的基本原理与代码调参,其原理是在GBDT的基础上进行优化,但也有很多的不同之处;所以自己准备更新两篇博客分为XGBoost原理与实例和XGBoost实战与调参优化来巩固这方面的知识。 一、XGBoost原理分析 在机器学习的问题…

XGBoost原理

前言 之前接触并实现过Adaboost和Random Forest。作为去年开始很火爆的,对结构化数据效果极佳的XGBoost,当然也需要了解一下了。下面将分段叙述XGBoost原理,以及与GBDT的关系等等内容。 ①、XGBoost vs GBDT 说到XGBoost,不得不说…

XGBoost算法原理以及实现

想问:在CSDN如何编辑数学公式呢? XGBoost算法是由GBDT算法演变出来的,GBDT算法在求解最优化问题的时候应用了一阶导技术,而XGBoost则使用损失函数的一阶导和二阶导,不但如此, 还可以自己定义损失函数&…

XGBoost原理介绍------个人理解版

本人第一次写博客,这是篇算法总结的文章,希望能对大家的学习有所帮助。有什么错误之处,还望留言指出,希望能与大家一起进步。 XGBoost全名叫(eXtreme Gradient Boosting)极端梯度提升,经常被用…

XGBoost原理及目标函数推导详解

前言 XGBoost(eXtreme Gradient Boosting)全名叫极端梯度提升,XGBoost是集成学习方法的王牌,在Kaggle及工业界都有广泛的应用并取得了较好的成绩,本文较详细的介绍了XGBoost的算法原理及目标函数公式推导。 一、XGBoo…

机器学习——XGboost原理及python实现

XGboost原理及实战 原理1 xgb是什么1.1 CART 回归树1.2 应用1.3 目标函数 2 xgb数学推导2.1 回归树2.2 加法模型2.3 前向分步算法2.4 目标函数2.5 正则项处理2.6 损失函数的处理 3 确定树的结构3.1 精确贪心法 4 具体算法流程:5 优化思路:5.1 压缩特征数…

XGBoost简单介绍

1. 概述 XGBoost本身的核心是基于梯度提升树实现的集成算法,整体来说可以有三个核心部分:集成算法本身,用于集成的弱评估器,以及应用中的其他过程。 1.1 提升集成算法: XGBoost的基础是梯度提升算法,因此…

XGBoost算法原理及基础知识

XGBoost原理——理论基础、公式推导、单机实现 前言一.简述XGBoost1.1算法类型:集成学习、监督学习1.2应用场景:回归、分类、排序1.3模型原理:串行方法、加法模型 二.集成学习及主要方法2.1Boosting 串行方法2.2Bagging 并行方法2.3Stacking …