feat: v1.0.0 祀梦笔记:从 0 到 1 的数字化花园建设
This commit is contained in:
70
docs/notes/ops/blockchain/practice/basic-deployment.md
Normal file
70
docs/notes/ops/blockchain/practice/basic-deployment.md
Normal file
@@ -0,0 +1,70 @@
|
||||
---
|
||||
title: 区块链产品设计和基础部署
|
||||
description: 详细介绍区块链产品设计和基础部署
|
||||
createTime: 2025/09/28 20:15:00
|
||||
permalink: /ops/blockchain/practice/basic-deployment/
|
||||
---
|
||||
|
||||
## 区块链产品方案设计
|
||||
|
||||
### 区块链产品需求分析
|
||||
|
||||
区块链产品分析主要是以下几个步骤:
|
||||
|
||||
1. 明确业务需求
|
||||
|
||||
围绕指定业务分析区块链落地解决的痛点,提出围绕业务的功能概述。
|
||||
|
||||
2. 搜集业务相关信息
|
||||
|
||||
针对设计功能,分析收集数据的方向、类型和具体维度
|
||||
|
||||
3. 分析搜集数据
|
||||
|
||||
借助数据分析工具整合收集数据,并能根据收集数据得出初步结论
|
||||
|
||||
能够保证收集数据的准确性和安全性
|
||||
|
||||
4. 确定应用需求
|
||||
|
||||
根据业务需求和收集数据,细化产品具体功能需求
|
||||
|
||||
5. 落地区块链平台
|
||||
|
||||
形成具体平台的设计需求报告
|
||||
|
||||
形成平台验收的准则
|
||||
|
||||
### 区块链平台设计方案
|
||||
|
||||
区块链平台包括:区块链底层平台、智能合约层、业务层、应用层和用户层
|
||||
|
||||

|
||||
|
||||
### 业务功能模块设计
|
||||
|
||||
业务功能模块设计包括三层:功能平台、功能模块、详细功能
|
||||
|
||||

|
||||
|
||||
### 业务流程图
|
||||
|
||||
关于业务流程图的一些常见符号:
|
||||
|
||||

|
||||
|
||||
有一些好用的在线绘制流程图的网站:
|
||||
|
||||
1. [Draw.io](https://app.diagrams.net/)
|
||||
|
||||
### ER 图设计
|
||||
|
||||
E-R 图(实体-关系图)是数据库设计中常用的一种工具,E 是实体,拥有一组属性,R 是关系,用于找到实体之间的联系。
|
||||
|
||||
实体与实体之间的关系,可能是一对一(1:1),一对多(1:n),多对多(m:n)
|
||||
|
||||
实体:通常用矩形表示,代表系统中的一个对象或概念,如"学生","课程","老师"
|
||||
|
||||
属性:通常用椭圆形表示,表示实体的特征,如"学生"的"姓名","班级"
|
||||
|
||||
关系:用菱形表示,用于不同实体间的联系,如"课程"和"学生"之间的"选修"关系
|
||||
59
docs/notes/ops/blockchain/practice/console-operator.md
Normal file
59
docs/notes/ops/blockchain/practice/console-operator.md
Normal file
@@ -0,0 +1,59 @@
|
||||
---
|
||||
title: Console 控制台操作
|
||||
createTime: 2025/10/03 02:55:49
|
||||
permalink: /ops/blockchain/practice/console-operator/
|
||||
---
|
||||
|
||||
## Console 控制台是什么?
|
||||
Console 是 FISCO BCOS 官方提供的一个交互式命令行工具,用于直接与区块链节点交互。
|
||||
主要功能包括:
|
||||
- 查询区块链状态(如区块链高度、节点列表、群组信息)
|
||||
- 部署和调用智能合约(支持 Solidity)
|
||||
- 管理节点(如查看节点共识状态、动态添加节点)
|
||||
- 调试交易和查看回执
|
||||
|
||||
## 部署 Console 控制台
|
||||
获取下载脚本:`wget https://gitee.com/FISCO-BCOS/console/releases/download/v2.8.0/console.tar.gz`
|
||||
解压控制台安装包:`tar -zxf console.tar.gz console/`
|
||||
|
||||
复制配置文件:`cp conf/config-example.toml conf/config.toml`
|
||||
编辑配置文件:`vim conf/config.toml`
|
||||
```bash
|
||||
# enSslKey = "conf/gm/gmensdk.key" # GM ssl cert file path
|
||||
# default load the GM SSL encryption privateKey from ${certPath}/gm/gmensdk.key
|
||||
|
||||
[network]
|
||||
# 请确保这里的连接地址都有节点
|
||||
peers=["127.0.0.1:20200", "127.0.0.1:20201"] # The peer list to connect [!code warning]
|
||||
|
||||
# Configure a private topic as a topic message sender.
|
||||
|
||||
```
|
||||
|
||||
复制节点证书到 Console 的配置目录下
|
||||
```bash
|
||||
cp -r ../nodes/127.0.0.1/sdk/* conf/
|
||||
```
|
||||
|
||||
通过 `bash start.sh` 就可以启动 Console 控制台啦!
|
||||

|
||||
|
||||
## 常用控制台命令
|
||||
|
||||
这里的区块链的搭建是根据前一篇文章中的多机构多群组多节点的关系
|
||||
|
||||
### 合约相关命令
|
||||
### 其他命令
|
||||
- 查询区块高度:`getBlockNumber`
|
||||
```bash title='output_example'
|
||||
[group:1]> getBlockNumber
|
||||
0
|
||||
```
|
||||
- 查看共识节点列表:`getSealerList`
|
||||
```bash title='output_example'
|
||||
[group:1]> getSealerList
|
||||
[
|
||||
d036a22f16909cba4c8521cd3c31db3be381e673c9749e3fd2848ab25eca134ef917cb9306f41893295c535078bce77bdc241eba3f92549a73efe4699d3c0df8,
|
||||
f0535616759000b473a285d60814bc2c5927a9cb897644da46890de71e59df590cd6fe1b226a95e19a566b6fc127fd85032de0d9fdd3d529e5e50cd96ad51f28
|
||||
]
|
||||
```
|
||||
122
docs/notes/ops/blockchain/practice/node-deployment.md
Normal file
122
docs/notes/ops/blockchain/practice/node-deployment.md
Normal file
@@ -0,0 +1,122 @@
|
||||
---
|
||||
title: 区块链网络部署与管理
|
||||
createTime: 2025/10/02 04:13:08
|
||||
permalink: /ops/blockchain/practice/node-deployment/
|
||||
---
|
||||
|
||||
## FISCO BCOS 简介
|
||||
|
||||
嘿呀~FISCO BCOS 可是金链盟开源工作组超用心牵头打造的企业级金融区块链底层平台哟!它就像一个超级厉害的小能手,有着高性能、高可用、安全可控这些超棒的特点呢。还支持多群组架构喔,能轻轻松松满足不同业务场景下的数据隔离和隐私保护需求,简直太赞啦!
|
||||
|
||||
而且呢,FISCO BCOS 还准备了好多丰富的开发工具和组件,就像给开发者们准备了一个魔法百宝箱,帮助大家能快速搭建区块链应用。现在在金融、政务、供应链这些好多好多领域都能看到它活跃的身影,应用可广泛啦!
|
||||
|
||||
## FISCO BCOS 网络部署
|
||||
|
||||
FICSO BCOS 提供了一个 build_chain.sh 来部署区块链,下面的步骤都是通过这个脚本来部署的区块链网络
|
||||
```
|
||||
# 可以通过这个指令下载脚本并赋予执行权限
|
||||
curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.11.0/build_chain.sh && chmod u+x build_chain.sh
|
||||
```
|
||||
|
||||
### 部署单群组4节点联盟链
|
||||
这里要确保机器的30300-30303,20200-20203,8545-8548端口都没有被占用
|
||||
|
||||
```
|
||||
# 部署单群组4节点联盟链
|
||||
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545 -e ./fisco-bcos
|
||||
```
|
||||
|
||||
如果是国密版本,执行下面的命令
|
||||
```
|
||||
# 部署单群组4节点联盟链(国密版本)
|
||||
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545 -g -G -e ./fisco-bcos
|
||||
```
|
||||
|
||||
参数解析:
|
||||
- -l:指定节点的IP地址和节点数
|
||||
- -p:指定节点的端口号
|
||||
- -g 和 -G:使用国密sm算法
|
||||
- -e:使用指定的 fisco-bcos 文件
|
||||
|
||||
默认情况下脚本会去 github 上下载 fisco-bcos 二进制文件,这一步在国内很有可能失败,建议提前下载好,然后直接使用本地的
|
||||
|
||||
部署完成之后就可以启动节点了
|
||||
|
||||
```
|
||||
bash nodes/127.0.0.1/start_all.sh
|
||||
```
|
||||
|
||||
检查节点进程是否存在
|
||||
```
|
||||
ps -ef | grep fisco-bcos
|
||||
```
|
||||
|
||||
检查节点之间是否互相链接了
|
||||
```
|
||||
# 这里是检查 node0 的日志文件
|
||||
tail -f nodes/127.0.0.1/node0/log/log* | grep connected
|
||||
```
|
||||
输出样例如下:
|
||||
```
|
||||
info|2025-10-02 17:06:40.006979|[P2P][Service] heartBeat,connected count=3
|
||||
...
|
||||
```
|
||||
这里可以看到 count=3,说明 node0 已经链接了另外的三个节点
|
||||
|
||||
检查节点之间是否存在共识
|
||||
```
|
||||
# 这里是检查 node0 的日志文件
|
||||
tail -f nodes/127.0.0.1/node0/log/log* | grep +++
|
||||
```
|
||||
输出样例如下:
|
||||
```
|
||||
info|2025-10-02 17:08:29.795822|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=0,hash=5b5f44f4...
|
||||
info|2025-10-02 17:08:33.807504|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=0,hash=50fec464...
|
||||
...
|
||||
```
|
||||
不断输出带有 `++++Generating seal` 的日志,说明共识正常
|
||||
|
||||
检查群组之间的共识
|
||||
```bash
|
||||
tail -f nodes/127.0.0.1/node0/log/log* | grep 'g:1.*+++'
|
||||
```
|
||||
输出样例如下:
|
||||
```bash
|
||||
info|2025-10-02 17:59:59.194525|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=fdb2da54...
|
||||
info|2025-10-02 18:59:59.225102|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=b7d87997...
|
||||
info|2025-10-02 19:59:59.327677|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=38dea43f...
|
||||
info|2025-10-02 20:59:59.462059|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=cb0e89fa...
|
||||
info|2025-10-02 21:59:59.284218|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=721e8904...
|
||||
```
|
||||
|
||||
### 部署多机构多群组多节点
|
||||
|
||||
在很多时候,我们需要部署多机构多群组多节点的联盟链,来满足不同业务场景下的需求。
|
||||
|
||||
现在有需求如下:
|
||||
|
||||
|IP|节点数|所属机构|所属群组|P2P端口|Channel端口|RPC端口|
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| 127.0.0.1 | 2 | agencyA | 1,2 | 30300 | 20200 | 8545 |
|
||||
| 127.0.0.2 | 2 | agencyB | 2,3 | 30400 | 20300 | 8645 |
|
||||
| 127.0.0.3 | 2 | agencyC | 3 | 30500 | 20400 | 8745 |
|
||||
| 127.0.0.4 | 2 | agencyD | 4 | 30600 | 20500 | 8845 |
|
||||
|
||||
这种时候建议直接编辑配置文件,参考样例如下:
|
||||
```bash title='ipconf'
|
||||
127.0.0.1:2 agencyA 1,2 30300,20200,8545
|
||||
127.0.0.1:2 agencyB 2,3 30400,20300,8645
|
||||
127.0.0.1:2 agencyC 3 30500,20400,8745
|
||||
127.0.0.1:2 agencyD 4 30600,20500,8845
|
||||
```
|
||||
|
||||
通过配置文件部署多机构多群组多节点联盟链
|
||||
```
|
||||
bash build_chain.sh -f ipconf -p 30300,20200,8545 -e ./fisco-bcos
|
||||
```
|
||||
这里查看一下输出信息,应当如下图所示:
|
||||

|
||||
|
||||
## 参考文章
|
||||
- [搭建第一个区块链网络](https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/installation.html)
|
||||
- [开发部署工具](https://fisco-bcos-documentation.readthedocs.io/zh-cn/release-2.7.0/docs/manual/build_chain.html)
|
||||
Reference in New Issue
Block a user