Fisco Bcos学习(环境搭建)

2023-11-08

服务器搭建联盟链过程

一、docker方式部署单群组4节点区块链
1、安装依赖
1)安装curl、openssl

yum install -y curl openssl openssl-devel

2)下载安装脚本

curl -#LO https://gitee.com/FISCO-BCOS/FISCO-BCOS/raw/master/tools/build_chain.sh && chmod u+x build_chain.sh

3)搭建单群组4节点区块链

bash build_chain.sh -d -l 127.0.0.1:4 -p 30300,20200,8545

在fisco目录下执行上面的指令,生成一条单群组4节点的区块链。 请确保机器的3030030303,2020020203,8545~8548端口没有被占用,也可以通过-p参数指定其他端口。命令执行成功会输出All completed。如果执行出错,请检查nodes/build.log文件中的错误信息。

4)启动区块链

执行nodes/127.0.0.1/start_all.sh

启动时,会查找本地是否存在FISCO-BCOS对应版本的节点镜像,不存在则从docker hub下载。

5)检查容器

检查容器是否正常:docker ps -a | egrep fiscobcos 容器节点为UP时说明节点启动正常。

6)查看节点

可以通过检查日志来确认节点的p2p连接数目、共识是否正常。

  • 查看节点node0连接的节点数(正常情况会不停地输出连接信息,从输出可以看出node0与另外3个节点有连接。)

    tail -f nodes/127.0.0.1/node0/log/log* | grep connected

  • 检查共识(正常情况会不停输出++++Generating seal,表示共识正常。)

    tail -f nodes/127.0.0.1/node0/log/log* | grep +++

二、下载和使用控制台
1、准备依赖
安装Java

下载Java:https://link.juejin.cn/?target=https%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk8-downloads-2133151.html

上传到服务器解压:tar -zxvf jdk-8u301-linux-x64.tar.gz

配置环境变量:

vi /etc/profile

export JAVA_HOME=/home/java/jdk1.8.0_301
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
2、启动并使用控制台

注:如果有上述一、docker方式部署单群组4节点区块链操作,则进入nodes/127.0.0.1/执行./download_console.sh就可。

download_console.sh脚本提供获取所有版本的控制台的功能,默认获取2.6+版本的控制台,可通过如下命令获取最新的download_console.sh脚本:

mkdir -p ~/fisco && cd ~/fisco && curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master/tools/download_console.sh
-c选项

指定下载的控制台版本号,默认拉取最新版本控制台(2.6+版本),若基于Web3SDK开发应用,需下载1.x版本的控制台将solidity代码转换为java代码,可通过该选项指定下载的控制台版本,下载1.2.0版本控制台的示例如下:

# 下载1.2.0版本的控制台
$ bash download_console.sh -c 1.2.0
-v选项

控制台1.1.0版本开始支持使用0.6版本的solidity编译器(FISCO BCOS底层需要升级到v2.5.0及其以上版本),-v选项指定下载的控制台基于的solidity编译器版本,目前支持0.4, 0.50.6三个版本的solidity编译器,默认使用0.4.25版本编译器。 下载支持solidity 0.6版本的控制台示例如下:

# 下载支持0.6.0版本solidity编译器的控制台
$ bash download_console.sh -v 0.6

打开console/conf目录,复制简单配置为配置:cp config-example.toml config.toml

拷贝证书文件:cp /home/fisco/nodes/127.0.0.1/sdk/* /home/fisco/nodes/127.0.0.1/console-0.6/conf/

部署自带HelloWorld.sol合约:

#控制台目录启动控制台
./start.sh
#部署用例
deploy HelloWorld.sol
三、一键部署WeBase
环境 版本
Java JDK 8 至JDK 14
MySQL MySQL-5.6及以上
Python Python3.6及以上
PyMySQL
1、准备依赖
1)安装MySQL
  • 下载mysql的repo源

    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

  • 下载后安装rpm包

    rpm -ivh mysql-community-release-el7-5.noarch.rpm

  • 安装mysql

yum -y install mysql-server

  • 配置mysql
#操作mysql库
use mysql;
#更改user表设置root账户密码
update user set password=password(‘qwer1234‘) where user=‘root‘;
#刷新
flush privileges;
#开启远程连接
grant all privileges on *.* to 'root'@'%' identified by 'qwer1234';
  • 启动mysql

    service mysqld start

  • 设置开机自启

    systemctl enable mysqld.service

  • 停止mysql

    service mysqld stop

2)安装Python3.6
  • 查看python3版本

    python3 --version

  • 安装python

    yum install -y python36

3)安装PyMySQL
  • 安装

    pip3 install PyMySQL -i https://pypi.douban.com/simple

2、拉取部署脚本
  • 获取部署安装包

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

  • 解压安装包

    unzip webase-deploy.zip

3、修改配置
  • 配置mysql连接(common.properties)
# 节点管理子系统mysql数据库配置
mysql.ip=127.0.0.1
mysql.port=3306
mysql.user=dbUsername
mysql.password=dbPassword
mysql.database=webasenodemanager

# 签名服务子系统mysql数据库配置
sign.mysql.ip=localhost
sign.mysql.port=3306
sign.mysql.user=dbUsername
sign.mysql.password=dbPassword
sign.mysql.database=webasesign

# 节点前置子系统h2数据库名和所属机构
front.h2.name=webasefront
front.org=fisco
  • 配置是否使用已有链

    if.exist.fisco yes/no

# 使用已有链时需配置
# 已有链的路径,start_all.sh脚本所在路径
# 路径下要存在sdk目录(sdk目录中包含了SSL所需的证书,即ca.crt、sdk.crt、sdk.key和gm目录(包含国密SSL证书,gmca.crt、gmsdk.crt、gmsdk.key、gmensdk.crt和gmensdk.key)
fisco.dir=/data/app/nodes/127.0.0.1
# 前置所连接节点的绝对路径
# 节点路径下要存在conf文件夹,conf里存放节点证书(ca.crt、node.crt和node.key)
node.dir=/data/app/nodes/127.0.0.1/node0
  • 执行部署命令

    python3 deploy.py installAll

  • 启动|停止

    python3 deploy.py startAll | python3 deploy.py stopAll

  • 浏览器访问

    http://{IP}:{port} |http://172.16.0.99:5000

    默认 admin|Abcd1234 首次登录要求重置密码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Fisco Bcos学习(环境搭建) 的相关文章

  • 未捕获的错误:调用未定义的函数 mysql_connect() [重复]

    这个问题在这里已经有答案了 未捕获错误 调用 C xampp htdocs phoenixproject register php 9 中未定义的函数 mysql connect 堆栈跟踪 0 main 在第 9 行 C xampp htd
  • 所有模型的 SQLAlchemy 事件 after_create

    我正在开发一个项目 需要对创建的每个模型进行通用定制 迄今为止我完成大部分工作的方式是通过模型继承 这是我的代码块 可以为您提供更好的想法 app core dba mixins class AuditExtension MapperExt
  • 使用反向代理进行过多重定向

    Setup 云flare DNS docker 撰写 nginx 反向代理 WordPress 的 fpm Nginx PHP 处理程序 Problem 重定向太多 如以下日志所示 Attaching to wp db wp wp web
  • 使用 pandas 的 TimeGrouper() 按 1 秒的间隔查找列计数

    考虑由时间戳索引的数据帧 数据 如下所示 Index Receiver Type Retry 1970 01 01 00 00 00 000000000 R1 Data 1 1970 01 01 00 00 00 800000000 R1
  • MySQL 不将 ı 视为 i?

    我在 MySQL 5 7 27 中有一个用户表utf8mb4 unicode ci整理 不幸的是 没有像 i 那样进行线程化 以下查询将找不到Y lmaz select id from users where name Yilmaz 我对其
  • 为 Docker 容器分配静态 IP

    我现在尝试在启动 Docker 容器时分配静态 IP 172 17 0 1 我使用端口 2122 作为该容器的 ssh 端口 以便让该容器监听端口 2122 sudo docker run i t p 2122 2122 ubuntu 此命
  • matplotlib pyplot:子图大小

    如果我绘制如下所示的单个图 它将具有 x y 大小 import matplotlib pyplot as plt plt plot 1 2 1 2 但是 如果我在同一行中绘制 3 个子图 则每个子图的大小均为 x 3 y fig ax p
  • 如何在使用 python 下载时优雅地超时

    我正在循环下载大量文件 其中包含以下代码 try urllib urlretrieve url2download destination on local filesystem except KeyboardInterrupt break
  • 在 WSL 实例之间共享 Docker 守护进程

    关于在没有 Docker Desktop 的情况下从 WSL 中运行 Docker 有一篇综合文章here https dev to bowmanjd install docker on windows wsl without docker
  • 将画布的鼠标坐标转换为地理坐标

    我正在尝试使用 Python Tkinter 创建包含意大利所有城市的地图Canvas 我在网上找到了一张意大利地图的图片 其中突出显示了一些城市 并将其插入到我的Canvas 之后 我使用一个函数来确定 2 个突出显示的城市的画布坐标 i
  • 获取小部件的背景颜色 - 真的

    我无法获取小部件的实际背景颜色 在我的特殊情况下 我在使用 QTabWidget 中的小部件时遇到问题 这是在Windows7上 因此 经典的小部件有一些灰色背景 而选项卡内的小部件通常用白色背景绘制 I tried def bgcolor
  • docker 容器中的 nmcli

    我目前正在寻找在 docker 容器中运行 nmcli nmcli 在我的主机上工作得很好 但如果我启动一个特权容器 nmcli 就不起作用 启动我的容器 sudo docker run privileged net host it ima
  • 如何在 Python 中从平面列表构建嵌套列表? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个简单的列表 例如 flat 1 1 1 1 1 1 1 2 2 2 1 2 2 3 我需要转换为嵌套列表 其中每个级别 破折号后跟数
  • 如何编写凯撒密码 Python

    我不知道如何开始编写程序 input input Input the text you would like encrypted def cipher text letter code for i in input number code
  • 如何在给定目标大小的情况下在 python 中调整图像大小,同时保留纵横比?

    首先 我觉得这是一个愚蠢的问题 对此感到抱歉 目前 我发现计算最佳缩放因子 目标像素数的最佳宽度和高度 同时保留纵横比 的最准确方法是迭代并选择最佳缩放因子 但是必须有更好的方法来做到这一点 一个例子 import cv2 numpy as
  • 从values() 或values_list() 中排除字段

    有没有一种有效的方法从函数中排除字段values or values list e g Videos objects filter id 1 get values 我想从此查询集中排除该字段duration 我知道我可以指定我想要在结果中包
  • 在 Django 查询中与父级一起获取子级数据

    我有两个模型产品和产品包 产品包有一个产品型号的外键 我如何访问包含产品包的所有产品的列表 class Product models Model title models CharField verbose name Product Tit
  • 按权重分组

    给定以下数据框 import pandas as pd d pd DataFrame Age 18 20 20 56 56 Race A A A B B Response 3 2 5 6 2 Weight 0 5 0 5 0 5 1 2 1
  • mysql REPLACE 具有多个主键的查询

    因此 如果存在与插入数据具有相同主键的列 则 MYSQL 的 REPLACE 命令 不要与字符串替换函数混淆 将替换一行 但是如果我有两个主键并且我想使用这两个主键来指定要替换的行而不仅仅是其中一个 我如何指定 mysql 使用两个键而不是
  • Pandas dataframe ,使用 iloc 替换最后一行

    我正在尝试使用 iloc 替换 Pandas 数据帧的最后一行 但是我无法让它工作 有很多解决方案 但最简单 最慢 的是这里 如何在 Python 中对 Pandas 数据帧上的行进行 FIFO 推送操作 https stackoverfl

随机推荐

  • js数据结构之栈

    1 栈数据结构 栈是一种遵从后进先出 LIFO 原则的有序集合 新添加或待删除的元素都保存在栈的同一端 称作栈顶 另一端就叫栈底 在栈里 新元素都靠近栈顶 旧元素都接近栈底 在现实生活中也能发现许多栈的例子 例如 下图中的一摞书 栈也被用在
  • springcloud-gateway网关聚合swagger实现多个服务接口切换

    正经学徒 佛系记录 不搞事情 springcloud是由多个不同的springboot服务组成的 微服务使用swagger有两种方法 如下 方法一 不推荐 但是是方法二的前置条件 对每个需要生成接口的项目集成swagger 具体方法点击查看
  • VM下ubuntu14.04安装编译linux-2.6.34内核

    Linux2 6所有内核下载地址 http www kernel org pub linux kernel v2 6 选择 1 解压 gf ubuntu ls Desktop Downloads linux 2 6 34 tar bz2 P
  • was配置mysql数据源另一种方式

    1 添加JDBC驱动程序 打开was控制台 资源 JDBC提供程序 新建 2 配置JDBC参数 选择数据库类型为 用户自定义 数据库类型 com mysql jdbc jdbc2 optional MysqlXADataSource 名称
  • nRF52832 — 1.44寸 TFT屏

    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX 作 者 文化人 XX 联系方式 XX 版权声明 原创文章 欢迎评论和转载 转载时能告诉我一声就最好了 XX 要说的
  • 关于:(.text+0x21): undefined reference to `shm_open'问题

    C programming in the UNIX environment的编程手册 一般都会为进程间用共享内存的方法通信提供两组方法 1 POSIX定义的 int shm open const char name int oflag mo
  • 开源数据集分类汇总(医学,卫星,分割,分类,人脸,农业,姿势等)

    本文汇总了医学图像 卫星图像 语义分割 自动驾驶 图像分类 人脸 农业 打架识别等多个方向的数据集资源 均附有下载链接 该文章仅用于学习记录 禁止商业使用 1 医学图像 疟疾细胞图像数据集 下载链接 http suo nz 2VQTUt 皮
  • Sqoop 使用详解

    Sqoop 概述 Sqoop 是Apache 旗下的一款开源工具 用于Hadoop与关系型数据库之间传送数据 其核心功能有两个 导入数据和导出数据 导入数据是指将MySQL Oracle等关系型数据库导入Hadoop的HDFS Hive H
  • C#(Unity3D)数值分析-牛顿(迭代)法

    最近需要用此方法解决一元五次方程求解问题 所以学习了下 在此记录一下 此方法的产生 是由于很多方程没有通解公式 所以求解只能通过数值方法 方法有很多 参见 数值分析 类似书有很多 牛顿法 这里引用书籍上所述 设方程 f x 0 其中有近似根
  • 多线程:线程安全与同步

    线程安全问题 线程安全问题产生的三个必要条件 多线程环境中 有共享数据 成员变量 而非局部变量 栈中是线程独立的 多个线程操作 增删改 了共享数据 单线程 以及 多线程在没有访问共享数据的情况下 是不会产生线程安全问题的 一旦多线程访问了共
  • 【Revit二次开发学习笔记】选取元素之先选择元素后执行命令

    第一步 写代码 using System using System Collections Generic using System Linq using System Text using System Threading Tasks u
  • TOWARDS A UNIFIED VIEW OF PARAMETER-EFFICIENT TRANSFER LEARNING

    本文也是属于LLM系列的文章 针对 TOWARDS A UNIFIED VIEW OF PARAMETER EFFICIENT TRANSFER LEARNING 的翻译 关于参数有效迁移学习的统一观点 摘要 1 引言 2 前言 2 1 T
  • xxx.app已损坏,打不开。 您应该将它移到废纸篓。

    Mac最新的系统打开网上下载的应用程序时 会提示 xxx app已损坏 打不开 您应该将它移到废纸篓 解决方式 1 系统偏好设置 gt 安全性与隐私 gt 修改为任何来源 2 serria里面没有 任何来源 这一项 需要打开终端执行sudo
  • 【数据结构】 二叉树面试题讲解->贰

    文章目录 引言 二叉树遍历 https www nowcoder com practice 4b91205483694f449f94c179883c1fef tpId 60 tqId 29483 rp 1 ru activity oj qr
  • 关于链表的三个常用算法

    找到环的第一个入口点 static public SinglyLinkedListNode
  • (s2-048)Struts2 反序列化漏洞

    Struts2 Struts2是一个基于MVC设计模式 java 的Web应用框架 它本质上相当于一个servlet 在MVC设计模式中 Struts2作为控制器 Controller 来建立模型与视图的数据交互 Struts2 是 Apa
  • 【故障处理】java程序cpu飙高如何排查

    使用传统jstack手法来排查 如何使用原生top命令 jstack命令来做定位具体代码的位置处理 简单步骤有下面几步 执行top命令 查看CPU占用情况 找到进程的pid 12002 使用 top Hp
  • Win10增加右键以管理员方式打开cmd,可自定义右键文本图标。

    先上设置后效果 设置步骤 1 打开注册表找到表项 按 win r 输入 regedit 打开注册表 找到注册表项 HKEY CLASSES ROOT Directory Background shell 2 在shell上新建项 右键 sh
  • word显示修改痕迹

    开发十年 就只剩下这套Java开发体系了 gt gt gt 1 打开待修改的word 2 设置修订 审阅 修订 修订 3 显示修改痕迹 添加修改内容
  • Fisco Bcos学习(环境搭建)

    服务器搭建联盟链过程 一 docker方式部署单群组4节点区块链 1 安装依赖 1 安装curl openssl yum install y curl openssl openssl devel 2 下载安装脚本 curl LO https