Fiscov3.0.0-rc3底链+合约部署

2023-11-10

一、主机部署基础环境和配置

#关闭防火墙和selinux
sed 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config				#预览
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config				#修改
grep "disabled" /etc/selinux/config												#检查

systemctl stop firewalld				#关闭防火墙
systemctl disable firewalld				#关闭自启

#安装基础工具
yum -y install tree sysstat lrzsz  telnet bash-completion bash-completion-extras vim lsof net-tools wget

# 配置docker-ce
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo		#docker源
sudo sed -i 's+download.docker.com+mirrors.cloud.tencent.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
sudo yum makecache fast

#清缓存  	#加载缓存
yum clean all && yum makecache
yum update		#更新yum

二、安装docker和相关依赖

#安装docker 、docker-compose
sudo yum install -y curl  docker-ce-20.10.8 docker-compose python3 python3-devel 

docker --version

#如果报错。docker组件冲突,执行下面的命令卸载,再次安装。
rpm -qa|grep docker
yum remove xxxxxxxxxx

#镜像加速和数据存储路径
mkdir -p /etc/docker/		
vim /etc/docker/daemon.josn
{
 "registry-mirrors": ["https://registry.docker-cn.com" , "https://bki7bdap.mirror.aliyuncs.com"],
 "data-root": "/data/docker"
 }
 
 #启动docker,自启
systemctl daemon-reload && systemctl start docker && systemctl enable docker				

三、部署fisco3底链

#下载构建工具BcosBuilder
mkdir  -p /fisco
cd /fisco
curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v3.0.0-rc3/BcosProBuilder.tgz && tar -xvf BcosProBuilder.tgz

#安装构建工具依赖包
cd BcosProBuilder && pip3 install -r requirements.txt

#下载二进制脚本
python3 build_chain.py download_binary
#下载慢的话,可以通过下面命令下载
python3 build_chain.py download_binary -t cdn

cd  /fisco/BcosProBuilder/docker/host/linux/framework

#修改docker-compose.yml配置文件

version: "3"
services:     
  tars-mysql:
    image: mysql:5.6											#版本
    network_mode: "host"
    environment:
      MYSQL_ROOT_PASSWORD: ""				#密码
      MYSQL_TCP_PORT: 3310					
    restart: always
    volumes:
      - ~/app/tars/framework-mysql:/var/lib/mysql
      - /etc/localtime:/etc/localtime 

  tars-framework:
    image: tarscloud/framework:v3.0.1
    network_mode: "host"
    environment:
      MYSQL_HOST: "192.168.1.95"
      MYSQL_ROOT_PASSWORD: ""					#和上面密码一致
      MYSQL_PORT: 3310
      REBUILD: "false"
      INET: ens33														#eth0        根据自己网卡名称填写
      SLAVE: "false"
    restart: always
    volumes: 
      - ~/app/tars/framework:/data/tars
      - /etc/localtime:/etc/localtime
    depends_on:
      - tars-mysql

#执行
docker-compose up -d
#访问,修改密码后进入到【admin】->【用户中心】->【token管理】申请token,保存后续使用
127.0.0.1:3000

Token :fsayGciOixxxxxxxxxI6IkpXVCJ9.eyJ1aWxxxxxxxxxxxxCI6MTY1NjY2MTUzNSwiZXxxxxxxxxxM1fQ._kolyF3claeTUQhTTCikjZDZUexxxxxxxxivKxdsxa


#部署RPC服务、网关、区块链节点服务

cd /fisco/BcosProBuilder
cp conf/config-deploy-example.toml config.toml

vim config.toml
[tars]
tars_url = "http://127.0.0.1:3000"                     #主机地址
tars_token = "fsayGciOixxxxxxxxxI6IkpXVCJ9.eyJ1aWxxxxxxxxxxxxCI6MTY1NjY2MTUzNSwiZXxxxxxxxxxM1fQ._kolyF3claeTUQhTTCikjZDZUexxxxxxxxivKxdsxa"												#申请的token
tars_pkg_dir = "binary/"

[chain]
chain_id="test01"														#名称
rpc_sm_ssl=false
gateway_sm_ssl=false
#rpc_ca_cert_path=""
#gateway_ca_cert_path="

[[chain.rpc]]
name="testBcosRpcService"
deploy_ip=["192.168.xxx.xxx"]										#本机地址
listen_ip="0.0.0.0"
listen_port=20200
thread_count=4
gateway_service_name = "testBcosGatewayService"

[[chain.gateway]]
name="testBcosGatewayService"
deploy_ip=["192.168.xxx.xxx"]										#本机地址
listen_ip="0.0.0.0"
listen_port=30300
peers=["192.168.xxx.xxx:30300", "192.168.xxx.xxx:30301"]					#本机地址
rpc_service_name = "testBcosRpcService"

[group]
group_id="group0"
vm_type="evm"
sm_crypto=false
auth_check=false
init_auth_address=""

# the genesis config
leader_period = 5
block_tx_count_limit = 1000
consensus_type = "pbft"
gas_limit = "3000000000"

[[group.deploy_info]]
# node_name = "node0"
deploy_ip = "192.168.xxx.xxx"							#本机地址
node_count=1
rpc_service_name = "testBcosRpcService"
gateway_service_name = "testBcosGatewayService"

[[group.deploy_info]]
# node_name = "node1"
deploy_ip = "192.168.xxx.xxx"								#本机地址
node_count=1
rpc_service_name = "testBcosRpcService"
gateway_service_name = "testBcosGatewayService"

#rpc
python3 build_chain.py chain -o deploy -t rpc
#网关
python3 build_chain.py chain -o deploy -t gateway
#部署区块链节点服务
python3 build_chain.py chain -o deploy -t node

#部署控制台

yum install -y java java-devel
#下载控制台
cd /fisco
curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master/tools/download_console.sh && bash download_console.sh
#拷贝控制台配置文件
cp console/conf/config-example.toml console/conf/config.toml
#配置控制台证书
cp /fisco/BcosProBuilder/generated/rpc/test01/192.168.xxx.xxx/testBcosRpcService/sdk/*  /fisco/console/conf
#启动控制台
cd /data/nft/fisco/console && bash start.sh

#####注意权限和sdk证书配置####

#添加主机节点(另外一台服务器)
重复一、二操作

#下载构建工具BcosBuilder
mkdir  -p /data/nft/fisco
cd /fisco
curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v3.0.0-rc3/BcosProBuilder.tgz && tar -xvf BcosProBuilder.tgz
#安装构建工具依赖包
cd BcosProBuilder && pip3 install -r requirements.txt
#下载二进制脚本
python3 build_chain.py download_binary
#下载慢的话,可以通过下面命令下载
python3 build_chain.py download_binary -t cdn

#修改docker-compose.yml配置文件
vim /fisco/BcosProBuilder/docker/host/linux/node/docker-compose.yml				#注意,此处修改node文件下面的docker-compose文件

version: "3"
services:
  tars-node:
    image: tarscloud/tars-node:latest
    network_mode: "host"
    environment:
      INET: eth0
      WEB_HOST: "http://192.168.xxx.xxx:3000"         #主节点的web界面地址,不是本机地址
    restart: always
    volumes:
      - ~/app/tars:/data/tars
      - /etc/localtime:/etc/localtime

#执行,查看
docker-compose up -d

#设置区块链节点扩容配置
# 进入操作目录
cd /fisco/BcosProBuilder
# 拷贝模板配置
cp conf/config-node-expand-example.toml config.toml

sed -i 's/tars_token = ""/tars_token = "fsayGciOixxxxxxxxxI6IkpXVCJ9.eyJ1aWxxxxxxxxxxxxCI6MTY1NjY2MTUzNSwiZXxxxxxxxxxM1fQ._kolyF3claeTUQhTTCikjZDZUexxxxxxxxivKxdsxa"/g' config.toml

[tars]
tars_url = "http://192.168.1.95:3000"
tars_token = "fsayGciOixxxxxxxxxI6IkpXVCJ9.eyJ1aWxxxxxxxxxxxxCI6MTY1NjY2MTUzNSwiZXxxxxxxxxxM1fQ._kolyF3claeTUQhTTCikjZDZUexxxxxxxxivKxdsxa"
tars_pkg_dir = "binary/"

[chain]
chain_id="test01"

[[group.deploy_info]]
node_name = "node2"
deploy_ip = "192.168.xxx.xxx"					#本机ip地址
expanded_service = "group0node00BcosNodeService"
node_count=1

[[group.deploy_info]]
node_name = "node3"
deploy_ip = "192.168.xxx.xxx"				#本机ip地址
expanded_service = "group0node00BcosNodeService"
node_count=1

#加入节点
python3 build_chain.py chain -o expand -t node

四、测试合约和合约部署

#获取扩容节点的NodeID
#进入控制台
cd /data/nft/fisco/console && bash start.sh
getGroupPeers   #查看 (数据不方便透露)
peer0:1123fb95dc2141237d11e0183cabe0c1c32c9dc6a95aad5f5bdf97e9c2faf911ccf7f8f4811d4ba4bb9acc5bb1c6efedb20758a8d9718c77f341254641234213147ef

peer1:823fb95dc2128d7123e0183cabe0c1c32c9dc6a95aad5f5bdf97e9c2faf911ccf7f8f4811d4ba4bb9acc5bb1c6efedb20758a8d9718c77f42131464d6887147ef

peer2:54328fb95dc21asdfga183cabe0c1c32c9dc6a95aad5f5bdf97e9c2faf911ccf7f8f4811d4ba4bb9acc5bb1c6efedb20758a8d9718c77ada2464d6887147ef

peer3:3248fb95adasdd11e0183cabe0c1c32123146a95aad5f5bdfzad5e9c2faf911ccf7f84214811d4ba4bb9acc5bb1c6efedb20758a8d9718c77f34a7464d6887147ef
显示四条
peer ID
getSealerList    #查看
nodeID='823fb95dc2128d7123e0183cabe0c1c32c9dc6a95aad5f5bdf97e9c2faf911ccf7f8f4811d4ba4bb9acc5bb1c6efedb20758a8d9718c77f42131464d6887147ef'
nodeID='3248fb95adasdd11e0183cabe0c1c32123146a95aad5f5bdfzad5e9c2faf911ccf7f84214811d4ba4bb9acc5bb1c6efedb20758a8d9718c77f34a7464d6887147ef'

复制不在节点的id 
peer0:1123fb95dc2141237d11e0183cabe0c1c32c9dc6a95aad5f5bdf97e9c2faf911ccf7f8f4811d4ba4bb9acc5bb1c6efedb20758a8d9718c77f341254641234213147ef

peer2:54328fb95dc21asdfga183cabe0c1c32c9dc6a95aad5f5bdf97e9c2faf911ccf7f8f4811d4ba4bb9acc5bb1c6efedb20758a8d9718c77ada2464d6887147ef

# 将扩容节点加入为观察节点
addObserver 1123fb95dc2141237d11e0183cabe0c1c32c9dc6a95aad5f5bdf97e9c2faf911ccf7f8f4811d4ba4bb9acc5bb1c6efedb20758a8d9718c77f341254641234213147ef

addObserver 54328fb95dc21asdfga183cabe0c1c32c9dc6a95aad5f5bdf97e9c2faf911ccf7f8f4811d4ba4bb9acc5bb1c6efedb20758a8d9718c77ada2464d6887147ef

#扩容节点同步到最高块后,将扩容节点加入为共识节点
addSealer 1123fb95dc2141237d11e0183cabe0c1c32c9dc6a95aad5f5bdf97e9c2faf911ccf7f8f4811d4ba4bb9acc5bb1c6efedb20758a8d9718c77f341254641234213147ef  1

addSealer 54328fb95dc21asdfga183cabe0c1c32c9dc6a95aad5f5bdf97e9c2faf911ccf7f8f4811d4ba4bb9acc5bb1c6efedb20758a8d9718c77ada2464d6887147ef  1
#注意,两个参数  后面是1

#部署测试合约 (自带的合约)
deploy HelloWorld
返回
transaction hash:xxxxxxxxxxxxxxx
contract address:  xxxxxxxxxxxxxxx
currentAccount:    xxxxxxxxxxxxxxx

#测试
call HelloWorld xxxxxxxxxxxxxxx (contract address返回的参数)set "Hello, Fisco"
#查看是否成功

#查看区块高度
call HelloWorld xxxxxxxxxxxxxxx (contract address返回的参数)get

到此部署完成。可以部署前后端业务

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

Fiscov3.0.0-rc3底链+合约部署 的相关文章

  • docker-proxy 进程的用途是什么

    当我查看我的 Linux 机器上所有正在运行的进程时 有很多docker proxy流程 似乎每个正在运行的容器 端口 都会产生一个 docker proxy 问题是我找不到任何处理 docker 实际启动的文档以及它们的关系 用法如何 有
  • 连接到在 Docker 中运行的 HBase

    我无法连接到 Windows 上 Docker 中运行的 HBase banno hbase 独立 https registry hub docker com u banno hbase standalone 图像 但是 我可以连接到本地安
  • 什么时候应该使用 Docker 的容器名称?

    当我跑的时候docker ps a I got CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e3be2faeb751 centos latest touch var log t
  • 使用 docker 部署 Django - 创建超级用户

    我设置了 3 个环境 但无法创建超级用户 我现在迁移和运行服务器的方式遵循容器 因此我有一个entrypoint sh bin sh 1 2 echo RTE Runtime Environment Running entrypoint 3
  • 如何备份/恢复docker镜像进行部署?

    在每次部署之前 我有一个要使用以下命令更新的图像 docker pull myusername myproject latest 该命令会覆盖之前的图像 如何备份此映像 或在本地将其更改为其他标签而不提交到网络存储库 如果有任何问题 我可以
  • 如何为docker swarm中的容器副本分配不同的端口

    我们正在使用副本 3 在 docker swarm 模式下使用 docker 容器部署 Storm Supervisor 现在我们希望通过浏览器访问 Supervisor 日志 我们公开了可以访问 Storm UI 的端口 8080 这工作
  • Docker pull:不允许操作

    我在拉取一些 docker 映像 但不是全部 时收到此错误 failed to register layer Error processing tar file exit status 1 operation not permitted 例
  • AWS Fargate - 卷

    我的 docker compose 文件有问题 这是我的 docker 撰写文件 version 3 services nginx proxy image xxxxx dkr ecr xxxxx amazonaws com xxxx lat
  • Windows 计算机上出现“来自守护程序的错误响应:无法创建填充程序:OCI 运行时创建失败”错误

    我正在尝试构建一个简单的 Python 映像 然后在 Windows 上以交互方式访问容器 构建过程有效 但运行容器失败 这是 Dockerfile FROM python 3 10 4 WORKDIR app 生成文件 IMAGE scr
  • 写入 cgroup 参数 cpu.rt_runtime_us 时出错

    我正在尝试修改 cgroup 中 docker 容器进程的实时运行时参数 我正在关注这个教程 http www breakage org 2014 08 22 using sched fifo in docker containers on
  • 在 Windows 容器中使用命名管道(同一主机)

    我想要有 2 个 Windows 容器 在同一主机上运行 使用 Windows 10 客户端计算机和 Windows 的 docker 通过命名管道 不是匿名管道 进行通信 然而 我无法让它发挥作用 我的命名管道服务器类是在 GitHub
  • nsq 无法通过连接到 nsqlookupd 来消费消息

    我尝试使用 docker compose 来运行 nsq docker compose yml如下 version 3 services nsqlookupd image nsqio nsq command nsqlookupd ports
  • 确定 docker 镜像的操作系统分布

    我需要确定任何 docker 映像的操作系统发行版名称 我可以标记ubuntu 最新 as 图片1 最新 但我应该能够在启动时获取 image1 latest 的分发信息 为了实现这一点 我使用下面提到的命令来确定操作系统版本 docker
  • Docker连接SQL Server容器非零代码:1

    我正在尝试从创建一个 SQL Server 容器docker compose yml但是当我运行它时 它直接停止并出现一些错误 注意 它运行在带有 docker Preview 的 Apple M1 芯片上 docker compose y
  • 向 docker 镜像添加新的入口点

    最近 我们决定将我们的一项服务迁移到 docker 容器 该服务是另一家公司的产品 他们为我们提供了 docker 镜像 但是 我们需要在容器入口点中执行一些额外的配置步骤 我尝试的第一件事是从基础映像创建一个 DockerFile 然后添
  • 在 Docker 容器中看不到 Django

    我想在一个简单的 Docker 容器中运行 Django 首先 我使用 Docker 文件构建了容器 里面没有什么特别的 只有 FROM RUN 和 COPY 命令 然后我用命令运行我的容器 docker run tid p 8000 80
  • 自动备份远程托管服务器的最佳实践

    我正在尝试设置一个用于团队笔记的服务器 我想知道自动备份其数据 又称我的笔记 的最佳方法是什么 目前我计划在 docker 镜像中运行服务器 docker 镜像将由托管服务 例如 Google 托管 我找到了一个适合我的需求的免费托管服务
  • 无法从我的电脑上使用 traefik 后面的 gitlab 进行 git 克隆

    这是我的 gitlab 和 traefik 配置 version 3 7 services gitlab web image gitlab gitlab ce latest restart always hostname gitlab ro
  • 带有 npm 启动脚本的 Nodejs 应用程序

    我对nodejs很陌生 在我的docker化环境中 我想为nodejs应用程序提供appdynamics支持 这要求每个应用程序都要求将以下内容作为其应用程序的第一行 require appdynamics profile controll
  • 如何从 Docker Hub 删除存储库

    如何从 Docker Hub 完全删除存储库 Docker 正在快速发展 他们的网站也是如此 这是从 docker hub Web 界面删除存储库的最新方法 首先 确保您已登录 hub docker com Simple 单击顶部的存储库链

随机推荐

  • arch linux 文档下载_CASTEP的Linux 安装

    CASTEP http www castep org 是一款电子结构软件 可以计算Kohn Sham框架下的平面波DFT 能够完成VASP能够完成的大部分计算 相比于VASP有几个优势 能够完成基本所有VASP能实现的功能和一些VASP不能
  • golang中的随机数rand

    1 math rand 随机数从资源生成 包水平的函数都使用的默认的公共资源 该资源会在程序每次运行时都产生确定的序列 如果需要每次运行产生不同的序列 应使用Seed函数进行初始化 默认资源可以安全的用于多go程并发 关于种子seed 程序
  • nginx实现路由重定向功能 避免服务器出现 404 Not Found

    首先 到服务器上 vue react等项目路由的重定向已解决不了带后缀的访问 这个重定向需要 nginx 来实现 我们先执行 scp r 用户名 如果没设置过就是root 服务器公网地址 etc nginx nginx conf E 拷贝地
  • Java基础最新教程-小白到大神,从api层面到底层原理解抛

    JavaSe JDK JRE JVM是什么 JDK Java Development Kit JRE Java Runtime Environment JVM Java Virtual Machine Java跨平台核心是使用Jvm 在不同
  • Java基础学习之函数式编程Comsumer接口(JDK8)

    前言 从毕业到现在正好三年 高难度的项目做了不少 但是基础这个东西一段时间不接触就会忘得一干二净 话不多说 开始今天的学习 1 Consumer接口 接触过 消费者 生产者 模式的同学 肯定对这个单词不陌生 在java8函数式编程和lamb
  • mcd, lm, VS lx

    LED常识之 mcd lm w的关系 转载自 http 1198 vip blog 163 com blog static 202177117201211624535412 LED 亮度是指发光体 反光体 表面发光 反光 强弱的物理量 人眼
  • Zynq-LWIP上行传输大批量数据方法说明

    此篇是我在学习中做的归纳与总结 其中如果存在版权或知识错误或问题请直接联系我 欢迎留言 PS 本着知识共享的原则 此篇博客可以转载 但请标明出处 目录 1 项目简介 1 1 完成功能 1 1 使用工具 2 LWIP141 DMA上行传输数据
  • web前端学习笔记一

    一 VS Code快捷键 代码格式化 Shift Alt F 向上或向下移动一行 Alt Up或Alt Down 快速复制一行代码 Shift Alt Up或Shift Alt Down 快速替换 Ctrl H 二 标题标签 h1 定义最大
  • C语言 函数 上

    函数的定义 子程序 是一个大型程序中的某部分代码 由一个或多个语句块组成 它负责完成某项特定任务 相较于其他代码 具备相对的独立性 2 库函数 eg 打印函数 printf 字符串拷贝 strcpy 计算n的k次方 pow函数 3 自定义函
  • 前端面试题----第1天

    文章目录 HTML link和 import的区别 CSS 圣杯布局和双飞翼布局 JS 用递归算法实现 数组长度为5且元素的随机数在2 32间不重复的值 HTML link和 import的区别 1 link是HTML标签 import是c
  • 数据链路层以太网帧格式------理解MTU的定义和最大值(1500字节)

    在前面的文章中 我们讨论了IP的包格式 也说过TCP UDP的包格式 无论是TCP还是UDP 最终还是封装成了IP包 我们知道 IP包的最大程度为65535个字节 于是很多初学者会误解 以为这65535字节的IP包数据 是直接被数据链路层套
  • C基础知识总结(全)

    目录 第一个程序hello world说明 计算机中的数据存储 数值型数据的存储 非数值型数据的存储 词法符号 关键字 标识符 数据类型 数据类型的分类 整数类型 浮点类型 实型 小数 空类型 原码 反码 补码 常量 实型常量 字符常量 字
  • 动力节点Java实用小技能,手把手带你生成二维码

    随着互联网的快速发展 二维码逐渐成为了主流 日常生活已经离不开二维码了 它们变得越来越有用 从候车亭 产品包装 家装卖场 汽车到很多网站 都在自己的网页二维码 让人们快速找到它们 随着智能手机的用户量日益增长 二维码的使用正在呈指数上升 让
  • 485集线器

    485集线器ZLAN9480A是一款可通过一路RS485主口扩展出8路RS485从口的工业级隔离型8口RS485集线器 可以有效的实现RS485网络的中继 扩展与隔离 ZLAN9480A的主口端提供隔离型RS485 从口端扩展出8路隔离型R
  • C++基础入门(数据类型)

    数据类型 整型 sizeof关键字 实型 浮点数 字符型 转意字符 字符串 布尔类型 数据的输入 C 规定在创建一个变量或者常量时 必须要指定出相应的数据类型 否则无法给变量分配内存 整型 作用 整型变量表示的是整数类型的数据 C 中能够表
  • FreeSwitch中配置网关的方法

    在VOIP通信系统中 经常要用到网关 那么网关怎么和FreeSwitch在一起配合使用 有如下需求 有一虚拟运营商 即 SIP PROVIDER 提供拨打外线的功能 从该处购买一 SIP 账号 具体配置信息如下 用户名 user 密码 pa
  • 今天这个是mybatis与spring的整合

    今天这个是mybatis与spring的整合 依旧是一个查询的demo 首先是demo的结构 然后是我的jdbc properties jdbc driverClassName com mysql jdbc Driver jdbc url
  • 10-js逆向(数据加密)

    简单的加密 案例一 返来的数据加密 我们对他进行解密 拿到数据 看到返回的数据加密了 还是直接搜索 也可以直接搜索json parse 可以看到了数据在这个里面已经加密 所以下一步 找他的调用栈 可以看到数据被传在了这个里面 直接进行扣js
  • 基于Spark 的电影推荐系统

    基于大数据的电影推荐系统主要分为两部分 基于历史数据的离线处理和基于实时流的实时处理 离线处理是基于历史数据 实时处理是结合历史数据和实时采集的数据 运用协同过滤算法训练推荐模型 预测各个用户未看电影的评分 为用户推荐评分最高的前10部 系
  • Fiscov3.0.0-rc3底链+合约部署

    一 主机部署基础环境和配置 关闭防火墙和selinux sed s SELINUX enforcing SELINUX disabled g etc selinux config 预览 sed i s SELINUX enforcing S