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底链+合约部署 的相关文章

随机推荐

  • 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