赞
踩
参考:
账户权限控制 — FISCO BCOS 2.0 v2.9.0 文档
在生成账户之前可能会出现下面的错误,
解决方法如下:
- cd ..
- cd webase-deploy
- python3 deploy.py stopAll
-
- cd ..
- bash nodes/127.0.0.1/start_all.sh
- cd console
- cp ../nodes/127.0.0.1/sdk/* conf/
生成账户:a1,a2,a3
- bash get_account.sh
- #连续三次生成新的账户
验证:
新增委员a1:
- ./start.sh 1 -pem 第一个账户的私钥
- grantCommitteeMember 第一个账户的地址
新增委员a2:
-
- grantCommitteeMember 第二个账户的地址
新增委员a3:
a1操作:
grantCommitteeMember 第三个账户的地址
a2操作:
- ./start.sh 1 -pem 第二个账户的私钥
- grantCommitteeMember 第三个账户的地址
验证:
listCommitteeMembers
- updateCommitteeMemberWeight 第一个账户的地址 2
- #2表示修改的比例
a1操作:
a2操作:
a2需要在a2里面进行下面的代码:
updateCommitteeMemberWeight 第一个账户的地址 2
验证:
queryCommitteeMemberWeight 第一个账户的地址
a1操作:
- updateThreshold 49
- #在a1中进行
a2操作:
- updateThreshold 49
- #在a2中进行
验证:
queryThreshold
注意出现两个委员时,需要执行两次投票,在账户一中执行一次,账户二中执行一次。增加委员和修改阈值同样如此。
a1操作:
在a1中进行
revokeOperator 需要撤销委员的地址
验证:
listCommitteeMembers
switch 1
用账户1添加账户4为运维
- grantOperator 账户四地址
- #查看
- listOperators
先恢复快照
配置:
- cd fisco-bcos
- bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545 -e ./fisco-bcos
启动fisco-bcos链
bash nodes/127.0.0.1/start_all.sh
启动WeBASE-Front
- cd WeBASE-Front
- cd dist
- #拷贝证书
- cp ../../nodes/127.0.0.1/sdk/* conf/
- #启动服务
- bash start.sh
页面呈现:
下载gen_node_cert.sh
- cd ../..
- cd nodes/127.0.0.1
-
- curl -#LO https://gitee.com/FISCO-BCOS/FISCO-BCOS/raw/master-2.0/tools/gen_node_cert.sh
运行生成node4
bash gen_node_cert.sh -c ../cert/agency -o node4
拷贝node0中config.ini、start.sh、stop.sh
cp node0/config.ini node0/start.sh node0/stop.sh node4/
修改node4的config.ini
vim node4/config.ini
拷贝群组1中的配置信息
cp node0/conf/group.1.* node4/conf/
启动node4
bash node4/start.sh
验证node4的节点连接情况
-
- tail -f node2/log/log* | grep "connected count"
获取node4的节点id
cat nodes/127.0.0.1/node4/conf/node.nodeid
- cd console
-
- cp ../nodes/127.0.0.1/sdk/* conf/
启动控制台
bash start.sh
添加node4为共识节点:
console验证
getSealerList
HelloWorld智能合约的部署与调用
get方法
Set方法
Adoption智能合约的部署与调用
调用合约中register功能
首先指定注册用户(test1)
调用register功能结果返回:
调用登录功能:
FoodTraceNew智能合约的部署与调用
分别调用createMember以及getMember
createMember调用(producter)
getMember
删除mysql容器
docker rm mysql
清空volume
docker volume prune
删除data-export-docker目录
rm -rf data-export-docker
重新解压
tar xzvf data-export-1.7.2.tar.gz
1. 复制证书
cp ../nodes/127.0.0.1/sdk/* config/
2. 删除HelloWorld.abi和HelloWorld.bin,分别添加监控合约的abi和bin文件(以Adoption合约为例)
- cd config/abi
- rm -rf HelloWorld.abi
- rm -rf HelloWorld.bin
- vim Adoption.abi
- vim Adoption.bin
启动data-export
- cd ../..
- bash build_export.sh -m
监控dataexport容器日志,以下为正确输出
注意:出现错误你可能需要重启虚拟机,重启后你需要再次查看webase-front是否打开
docker logs -f dataexport
监控mysql容器
- docker exec -it mysql bash
- mysql -uroot -p
- #密码:123456
- show databases;
- use data_export;
- show tables;
- 两次
- exit;
配置data-export组件允许使用grafana
vim config/application.properties
启动grafana容器
docker run -itd -p 3000:3000 --name=grafana grafana/grafana
admin/admin
进入configuration页面,新增mysql选项
配置mysql连接
加载default_dashboard.json
指定的文件:
在第三步上做出一样的方法,就可以看到变化,刷新
下面的步骤是按照博主自己的环境进行的,与我环境不同的友友可以去我的资源下载宠物商店领养项目实施部署教程,该教程十分详细。(❤ ω ❤)
FISCO BCOS链启动(不是重新安装),webase-front也启动
第一步先检查是否有包含“FISCO”关键词的进程存在
出现下面的情况表示已经启动了
- cd fisco-bcos
- ps -ef | grep fisco
若没有,则需要启动,步骤如下:
首先启动FISCO BCOS
- cd fisco-bcos
- bash nodes/127.0.0.1/start_all.sh
启动WeBASE-Front
- cd WeBASE-Front/dist
- bash start.sh
监控WeBASE-Front启动情况
通过网页验证
打开虚拟机,用mobaxterm等软件连接虚拟机,并创建AdoptionProject
mkdir AdoptionProject
将软件应用的前后端代码拷贝至虚拟环境的AdoptionProject目录
解压前后端代码
- cd AdoptionProject
- unzip pet-store-front-master.zip
- unzip pet-store-flask-master.zip
部署Adoption智能合约
打开WeBASE-Front网页,找到Adoption智能合约,分别“保存”->“编译”->“部署”,使用“admin”进行部署
现在开始首先部署软件应用后端(pet-store-flask),进入~/AdoptionProject/pet-store-flask-master,使用virtualenv创建虚拟环境
- cd pet-store-front-master
- python -m virtualenv venv
安装后端所有依赖
pip install -r requirements.txt
修改后端项目中对应的config.py
文件,其中包括admin_address,contract_address
- vim config.py
- vim app.py
找到app.py将端口改成8081
通过nohup启动后端 ,. 使用tail监控
- nohup python app.py &
- tail -f nohup.out
- 注意:启动后端可以使用
- python app.py
- 查看端口是否占用及占用方法:
- netstat -nlp | grep 8081
- 注意:76775与实际相关
- kill 76775
开始部署前端,进入pet-store-front-master目录,使用npm install安装前端依赖
npm install
通过npm生成前端项目的静态文件
npm run build
前端项目静态文件执行成功后会生成dist目录
配置nginx,通过反向代理的形式将8022端口指向本地pet-store-master目录中的dist子目录
获取nginx.conf地址
sudo nginx -t
修改nginx.conf加上通过8022反向代理到本地dist目录的配置
sudo vim /etc/nginx/nginx.conf
在nginx.conf的http上下文中加入server配置,具体内容如下:
保存nginx.conf后,使用命令让nginx工具重新加载nginx.conf
sudo nginx -s reload
检查8022端口占用情况:
sudo netstat -nlp | grep 8022
检查网页使用情况
验证功能:
首先进入注册页面
在webase-front中复制一个用户的地址,进行注册:
有如下输出说明注册成功
进入登录页
将刚刚注册的用户地址,在登录页复制后登录,有如下输出说明登录成功:
修改docker源为国内
sudo vim /etc/docker/daemon.json
- {
- "registry-mirrors": [
- "http://hub-mirror.c.163.com",
- "https://docker.mirrors.ustc.edu.cn",
- "https://registry.docker-cn.com"
- ]
- }
重启docker
sudo service docker restart
检查config.py中admin_address(部署合约用户地址)和contract_address(合约地址),webase_host(局域网下webase-front访问ip)
复制用户根目录(~)中的.pip目录到AdoptionProject目录中
cp -r .pip AdoptionProject/
接着生成dockerfile
- cd ~/AdoptionProject
-
- vim BackDockerfile
- FROM python:3.8
- ADD ./pet-store-flask-master /root/pet-store
- ADD ./.pip /root/.pip
- WORKDIR /root/pet-store
- RUN pip install -r requirements.txt
- EXPOSE 8081
- CMD /bin/bash -c "python app.py"
修改后端代码(~/AdoptionProject/pet-store-flask-master/app.py)在最后添加host配置:
docker build -f BackDockerfile -t back:v1 .
执行这个命令之后会出现这个错误,需要你重启,建议直接物理重启
docker images
运行后端代码对应容器验证:
docker run -itd --name pet-store-back -p 8081:8081 back:v1
使用docker ps,验证
验证进程是否正在运行
netstat -nlp |grep 8081
一般使用这两个命令可能会出现下面的错误:
解决方法:
先停止,后删除
- docker stop pet-store-back
- docker rm pet-store-back
运行后端时,就是python app.py出现这个错误,端口占用
解决方法:
- ps aux | grep python
- #arthur 12345 0.0 0.0 11111 22222 pts/0 S+ 12:34 0:00 python app.py
- sudo kill 12345
验证/user/register
先在webase-front中创建一个test4用户
使用postman验证,url: /user/register?address=[你创建的用户地址]
工程目录(~/AdoptionProject/pet-store-front-master)
进入此目录确认存在dist文件
如果dist文件夹不存在,那么使用如下命令进行生成:
npm run build
复制配置nginx.conf
修改nginx.conf
配置docker-compose.yml,具体内容如下:
(注意: 这里文件路由要用绝对路径)
- version: '3.3'
- services:
- back:
- image: back:v1
- container_name: petstore_back
- ports:
- - 8081:8081
-
- front:
- image: nginx
- container_name: petstore_front
- volumes:
- - /home/arthur/AdoptionProject/pet-store-front-master/dist:/root/dist
- - ./nginx.conf:/etc/nginx/nginx.conf
- ports:
- - 8020:8020
. 使用docker-compose up启动项目
docker-compose up
验证启动结果
访问{虚拟机IP}:8020
(1)注册
(2)登录
(3)领养
(4)查看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。