Hyperledger-Fabric区块链(2)

独立安装Fabric CA

10.1更换配置
# 更新go版本
su root

cd /usr/local/   # 切换到下载安装包的目录
 
rm gol.15.3.linux-amd64.targx//删除原有的安装包
wget https://studygolang.com/dl/golang/go1.22.1.linux-amd64.tar.gz   # 最新版
tar -C $HOME -xzf go1.22.1.linux-amd64.tar.gz		# 解压到$HOME目录

mkdir $HOME/gocode
vim ~/.bashrc
# 在文件添加以下内容:
 export GOPATH=$HOME/gocode
 export GOROOT=$HOME/go
 export PATH=$PATH:$GOROOT/bin
 export PATH=$PATH:$GOPATH/bin
 
# 编译.bashrc
source ~/.bashrc
 
# 查看go版本
go version

# 命令来清理Go编译缓存
go clean -cache
10.2 安装libtool和libtdhl-dev程序个GCC编译器
yum install libtool-ltdl-devel
yum -y install gcc-c++


cd $GOPATH
git clone https://gitee.com/hyperledger/fabric-ca.git

# 下载完成在$GOPATH会出现fabric-ca文件夹
cd fabric-ca

# 编译Fabric CA Server应用程序
make fabric-ca-server

# 编译Fabric CA Client应用程序
make fabric-ca-client

# 编辑 ~/.bashrc
export PATH=$PATH:$GOPATH/fabric-ca/bin
source ~/.bashrc

# 查看fabric-ca-server文件位置
which fabric-ca-server

# 如果一切正常,则执行结果如下:

请添加图片描述

11 初始化和启动

cd /root 
fabric-ca-server init -b admin:adminpw    # 以管理员身份初始化server
fabric-ca-server start -b admin:adminpw    # 以默认方式启动server

请添加图片描述
请添加图片描述

12配置数据库

cd /usr/local/src
# 从官网下载,然后拉取到虚拟机		https://dev.mysql.com/downloads/repo/yum/

# 解压缩
rpm -Uvh mysql80-community-release-el7-11.noarch.rpm

# 查看yum源仓库mysql文件
yum repolist enabled | grep "mysql.*-community.*"

# 解决密钥缺失问题
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
# 或者禁用GPG检查
sudo yum install mysql-community-client --nogpgcheck

yum install mysql-community-server -y

# 启动
service mysqld start

# 查看临时密码	,?DjUt_i=98J
grep "temporary password" /var/log/mysqld.log

mysql -u root -h localhost -P

# 执行下面命令
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY '@Jr123456';
use mysql;
update user set host='%' where user='root' and host = 'localhost';
flush privileges;

# 执行数据库安全配置
mysql_secure_installation
	# 修改
	Remove anonymous users? (Press y|Y for Yes, any other key for No) :N
	Disallow root login remotely? (Press y|Y for Yes, any other key for No) :N
	Remove test database and access to it? (Press y|Y for Yes, any other key for No) :N
	Reload privilege tables now? (Press y|Y for Yes, any other key for No) :Y
	
# 关闭防火墙
systemctl stop firewalld

# 编辑fabric-ca-server-config.yaml文件
# 本案例在$GOPATH/fabric-ca/bin路径下
# 在fabric-ca-server初始化命令执行之后,会在当前目录下生成相应的配置文件

# 在Navicat中链接数据库,执行如下命令
SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION'

# 重新初始化fabric-ca-server
fabric-ca-server init -b admin:adminpw

请添加图片描述

13、建立Fabric CA Server 集群

# 同时开启2个Fabric CA Server
fabric-ca-server start -b admin:adminpw --cacount 2

# 在同时开启时,可以使用 --cafiles 命令选项指定使用的配置文件
# --cafiles指定的配置文件必须事先存在,其优先级比默认的配置文件高
fabric-ca-server start -b admin:adminpw --cafiles ca/ca1/fabric-ca-config.yaml --cafiles ca/ca2/fabric-ca-config.yaml

# 配置HAProxy代理服务器
yum -y install haproxy

# 修改 /etc/haproxy/haproxy.cfg 配置文件,或者在原来的修改端口
global	# global:指定全局配置部分,其下面的参数是进程级的,通常和操作系统相关
    log         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000	# maxconn:指定最大连接数。
    user        haproxy
    group       haproxy
    daemon	# daemon:指定以后台形式运行 HAProxy。
    
defaults	# defaults:默认设置部分。
	mode http	# 启用 HTTP模式。如果使用 TLS,则需要选择启用 TCP 模式。
	maxconn 2000
	timeout connect 5000	# 连接超时时间,单位为s。
	timeout client 	50000	# 客户端超时时间,单位为s。
	timeout server 50000	# 服务器超时时间,单位为s。

listen http-in		# 网站监听设置部分。
	bing *:7054		# 监听的端口。
	balance roundrobin	# 负载均衡的策略,roundrobin是平均分配策略。
	server server1 hostname1:port
	server server2 hostname2:port
	server server3 hostname3:port
# 原来文件;4331===>7054
# 在server      static 127.0.0.1:4331 check
global
    log         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
	
	stats socket /var/lib/haproxy/stats
	
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 4
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

frontend  main *:5000
    acl url_static       path_beg       -i /static /images /javascript /stylesheets
    acl url_static       path_end       -i .jpg .gif .png .css .js

    use_backend static          if url_static
    default_backend             app

backend static
    balance     roundrobin
    server      static 127.0.0.1:4331 check

backend app
    balance     roundrobin
    server  app1 127.0.0.1:5001 check
    server  app2 127.0.0.1:5002 check
    server  app3 127.0.0.1:5003 check
    server  app4 127.0.0.1:5004 check
13.1 演习在Fabric CA Client 注册一个peer节点用户peer1-org1的过程
# 创建admin过程
mkdir $GOPATH/fabric-ca/clients
mkdir $GOPATH/fabric-ca/clients/admin

# 设置执行Fabric CA Client 的主目录
export FABRIC_CA_CLIENT_HOME=$GOPATH/fabric-ca/client/admin

# 登录过程会写入数据库,在Navicat中链接数据库,执行如下命令
SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION'

# 打开一个新的端口
fabric-ca-server start -b admin:adminpw

# 在原有的终端,可在Fabric CA Client登录已有身份admin
# 一切正常则如下所示
fabric-ca-client enroll -u http://admin:adminpw@localhost:7054

# 注册一个节点
# 一切正常则如下所示
fabric-ca-client register --id.name peer1-org1 --id.type peer --id.secret userpwd -u http://localhost:7054

# 验证注销新用户效果,需先创建好文件夹
# 一切正常则如下所示
mkdir $GOPATH/fabric-ca/clients/admin/peer1-org1
export FABRIC_CA_CLIENT_HOME=$GOPATH/fabric-ca/client/admin/peer1-org1
fabric-ca-client enroll -u http://peer1-org1:userpwpd@localhost:7054

请添加图片描述
请添加图片描述
请添加图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值