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

博客介绍了基于Docker部署Fisco3底链的过程。首先进行主机基础环境部署与配置,安装Docker及相关依赖,接着部署底链,包括RPC服务、网关、节点服务、控制台等,还可添加主机节点。最后进行合约测试和部署,完成后即可开展前后端业务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

#关闭防火墙和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

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人生不过大梦一场

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值