区块链实验室(18) - 用FISCO BCOS架设1个无标度网络

news2024/11/17 17:13:51

FISCO技术文档提供1个4节点的网络案例,这4个节点构成1个强连通图。强连通图在现实中通常是不存在的。 本文用FISCO架设1个网络,该网络由100个节点构成1个无标度(scale free)网络,如下图所示。

在这里插入图片描述

1 用FISCO工具构建1个100节点的初始网络

FISCO提供1个Shell脚本,用于构建初始网络,完整的脚本如下。

./build_chain.sh -l localhost:100 -p 30300,20200,8545 -o ./scalefree

在这里插入图片描述

执行完毕上述脚本之后,新生成1个目录scalefree,见下图。其中2个freeScaleNetwork文件,不是FISCO生成的,是本文创建的无标度网络,在网盘资源中可下载。可按图中提示,验证FISCO的版本,节点个数。

在这里插入图片描述
在这里插入图片描述

再来看一看FISCO初始网络的节点连通性,随便打开1个节点的配置文件config.ini,见下图。很明显,又是1个强连通图,每个节点都与其他99个节点有连接。

在这里插入图片描述

2 建立无标度网络

从网盘资源中下载文件,见下图所示。最关键的是其中1和3。

在这里插入图片描述

1:无标度网络配置文件

2:无标度网络配置文件,和上面1个是一样的,这个是邻接矩阵表示

3:本文的脚本,修改100个节点的P2P网络连接,使之构成无标度网络

4:FISCO构建初始化网络的脚本

在指定目录执行本文脚本,见下图。脚本代码如下。

在这里插入图片描述

#!/bin/bash

LINE=$'\n'
SEMICOLON=";"
OLD_IFS="$IFS"
i=1
listen_port=30300

IFS=$LINE
for line in `cat ./freeScaleNetwork.csv`
do
	sed -i '11,110d' ./localhost/node$[$i-1]/config.ini

	IFS=$SEMICOLON
	neighbor=""
	nblist=$neighbor
	j=11
	for item in $line
	do
		neighbor="    node.$[$item-1]=localhost:$[$item-1+$listen_port]"
		nblist=$nblist$neighbor
		sed -i "$[$j]i $neighbor"  ./localhost/node$[$i-1]/config.ini
		sed -i ''"$j"'s/^/&    /g' ./localhost/node$[$i-1]/config.ini
		let "j=$j+1"
	done
	let "i=$i+1"
	IFS=$LINE
done
IFS="$OLD_IFS"

执行完毕后,再看看节点的配置文件config.ini。很明显,不再是强连接图。

在这里插入图片描述

接下来,启动这个无标度网络,见下图。由于100个节点,就100个进程啊,这时风扇狂响。本虚拟机设置了8G内存。

在这里插入图片描述
在这里插入图片描述

实验环境如下

虚拟机文件:ubuntu20.04-Fisco

获取地址:https://pan.baidu.com/s/1RlrSy_OuT3B7TMT5AJEGmA?pwd=oava

联系方式:goodlcp@163.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/962915.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jenkins java8安装版本安装

一、首先准备Jenkins、Jdk8、Tomcat9安装包 根据Jenkins官网介绍,Jenkins支持Java8的版本如下: 我们选择2.164版本进行安装,根据版本号支持输入下载地址:https://archives.jenkins.io/war/2.164/jenkins.war,进行下载…

【牛客网题目】合并两个排序的链表

目录 描述 题目分析 描述 输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。 数据范围:0≤n≤1000,1000≤节点值≤1000 要求:空间复杂度 O(1),时间复杂…

为什么我说 90% 的技术人搞副业都会失败?!

见字如面,我是军哥! 这几天有多位程序员读者请教我,如何搞副业?并且有一位已经搞了半年了,涨粉困难,这小伙子大概工作 2 年的样子,所在的公司算中等二线大厂吧。 我把和他们聊的内容总结了一下&…

vscode调教配置:快捷修复和格式化代码

配置vscode快捷键,让你像使用idea一样使用vscode,我们最常用的两个功能就是格式化代码和快捷修复,所以这里修改一下快捷修复和格式化代码的快捷键。 在设置中,找到快捷键配置: 然后搜索:快捷修复 在快捷键…

分库分表篇-1 分库分表介绍

文章目录 前言一、为什么要分库分表?二、分库分表的策略:2.1 垂直切分:2.2.1 垂直分库:2.2.2 垂直分表:2.2.3 垂直拆分的优缺点: 2.2 水平切分:2.2.1 库内分表:2.2.2 分库分表:2.2.3 水平切分优缺点: 三、分…

04-MySQL02

1、什么是索引下推? 索引下推(index condition pushdown )简称ICP,在Mysql5.6的版本上推出,用于优化查询。 需求: 查询users表中 "名字第一个字是张,年龄为10岁的所有记录"。 SELECT * FROM u…

无涯教程-JavaScript - FTEST函数

FTEST函数取代了Excel 2010中的F.TEST函数。 描述 该函数返回F检验的输出。 F检验返回两尾概率,即array1和array2的方差没有显着差异。使用此功能可以确定两个样本是否具有不同的方差。 语法 FTEST (array1, array2)争论 Argument描述Required/OptionalArray1The first ar…

【仿写spring之ioc篇】三、检查是否实现了Aware接口并且执行对应的方法

Aware接口 Aware接口中只是设置了对应的set方法,目前只定义了三个Aware 以BeanNameAware为例 package com.ez4sterben.spring.ioc.factory.aware;/*** bean名字清楚** author ez4sterben* date 2023/08/31*/ public interface BeanNameAware {/*** 设置beanName* …

老胡的周刊(第106期)

老胡的信息周刊[1],记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 🎯 项目 quivr[2] Quivr 是您在云中的第二个大脑&…

Mysql数据库事务隔离级别造成死锁

场景:如下代码,获取数据库连接,删除权限的时候,会造成数据库死锁. 代码 日志: 数据库: SHOW OPEN TABLES where In_use > 0; 问题分析:测试环境Centos7操作系统,Mysql5.7.40版本程序运行正常,开发环境Windows操…

设计模式行为型-模板模式

文章目录 一:模板方法设计模式概述1.1 简介1.2 定义和目的1.3 关键特点1.4 适用场景 二:模板方法设计模式基本原理2.1 抽象类2.1.1 定义和作用2.1.2 模板方法2.1.3 具体方法 2.2 具体类2.2.1 定义和作用2.2.2 实现抽象类中的抽象方法2.2.3 覆盖钩子方法 …

学生信息管理系统MIS(前端)

改造HTML文件 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>学生信息管理系统MIS</title><!-- link在HTML文件中,引入外部的css文件 rel的值是固定写法,stylesheet样式表href用来指定样式表的位置--><lin…

CleanMyMac X2024软件最新版本更新下载

CleanMyMac X是一款颇受欢迎的专业清理软件&#xff0c;拥有十多项强大的功能&#xff0c;可以进行系统清理、清空废纸篓、清除大旧型文件、程序卸载、除恶意软件、系统维护等等&#xff0c;并且这款清理软件操作简易&#xff0c;非常好上手&#xff0c;特别适用于那些刚入手苹…

企业架构LNMP学习笔记5

Nginx&#xff1a; 常见用法&#xff1a; 1&#xff09;web服务器软件 httpd http协议 同类的web服务器软件&#xff1a;apache Nginx&#xff08;俄罗斯&#xff09;IIS&#xff08;微软&#xff09;lighttpd&#xff08;德国&#xff09; 2&#xff09;代理服务器 反向代…

springboot:时间格式化的5种方法(解决后端传给前端的时间格式转换问题)推荐使用第4和第5种!

本文转载自&#xff1a;springboot&#xff1a;时间格式化的5种方法&#xff08;解决后端传给前端的时间显示不一致&#xff09;_为什么前端格式化日期了后端还要格式化_洛泞的博客-CSDN博客 时间问题演示 为了方便演示&#xff0c;我写了一个简单 Spring Boot 项目&#xff…

设计模式-工厂模式Factory

工厂模式 b.工厂方法模式 (Factory Method) (重点)1) 简单工厂 Simple Factory1.a) 简单工厂的好处 2) 工厂方法 Factory Method2.a) 对工厂进行抽象化 (版本一)2.b) 对工厂进行缓存 (版本二)2.c) 加载配置文件到缓存中 (版本三)c.1) 产品线 c.抽象工厂模式 (Abstract Factory)…

五子棋游戏禁手算法的改进

五子棋游戏禁手算法的改进 五子棋最新的禁手规则&#xff1a; 1&#xff0e;黑棋禁手判负、白棋无禁手。黑棋禁手有“三三”&#xff08;包括“四三三”&#xff09;、“四四”&#xff08;包括“四四三”&#xff09;和“长连”。黑棋只能以“四三”取胜。 2&#xff0e;黑方…

B端系统设计之【权限】详解

衡量B端产品系统好坏的一个重要标准就是它的权限是否细致&#xff0c;拓展性是否强。 权限管理是B端产品系统的基础&#xff0c;好的权限管理系统延展性较强&#xff0c;即使业务发生变化也能避免大改和推倒重建。 权限分类 1、功能权限 功能权限是指用户登录系统之后&#xff…

前端面试中Vue的有经典面试题三

11. 网页从输入网址到渲染完成经历了哪些过程&#xff1f; 大致可以分为如下7步&#xff1a; 输入网址&#xff1b; 发送到DNS服务器&#xff0c;并获取域名对应的web服务器对应的ip地址&#xff1b; 与web服务器建立TCP连接&#xff1b; 浏览器向web服务器发送http请求&a…

【自用】西门子s7-200连接显示屏和物联网盒子完整配置过程

总览 1.PLC配置 2.显示屏配置 3.物联网盒子配置 一、PLC配置 1.连接PLC软件 STEP-7MicroWIN V4.0 SP9完整版 链接&#xff1a;https://pan.baidu.com/s/17LMEXnbkQZMPI8Bte24Eug?pwdjsi3 提取码&#xff1a;jsi3 2.PLC配置 打开 PLC 上面的小盖子&#xff0c;把红色按钮…