feat: v1.0.0 祀梦笔记:从 0 到 1 的数字化花园建设

This commit is contained in:
祀梦
2026-01-09 10:03:40 +08:00
commit a5fd8545f4
75 changed files with 15529 additions and 0 deletions

View 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. 落地区块链平台
形成具体平台的设计需求报告
形成平台验收的准则
### 区块链平台设计方案
区块链平台包括:区块链底层平台、智能合约层、业务层、应用层和用户层
![区块链平台设计](https://image.simengweb.com/notes/ops/blockchain/practice/basic-deployment/2025-10-02-150534.png)
### 业务功能模块设计
业务功能模块设计包括三层:功能平台、功能模块、详细功能
![业务功能模块设计](https://image.simengweb.com/notes/ops/blockchain/practice/basic-deployment/23f38723fcc79a2a91ea317f4c467755.png)
### 业务流程图
关于业务流程图的一些常见符号:
![业务流程图常见符号](https://image.simengweb.com/notes/ops/blockchain/practice/basic-deployment/d2c1a8bbe17c0cfef0314d0d1ba9ab45.png)
有一些好用的在线绘制流程图的网站:
1. [Draw.io](https://app.diagrams.net/)
### ER 图设计
E-R 图(实体-关系图是数据库设计中常用的一种工具E 是实体拥有一组属性R 是关系,用于找到实体之间的联系。
实体与实体之间的关系可能是一对一1:1一对多1:n多对多m:n
实体:通常用矩形表示,代表系统中的一个对象或概念,如"学生","课程","老师"
属性:通常用椭圆形表示,表示实体的特征,如"学生"的"姓名","班级"
关系:用菱形表示,用于不同实体间的联系,如"课程"和"学生"之间的"选修"关系

View 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 控制台啦!
![启动Console控制台](https://image.simengweb.com/notes/ops/blockchain/practice/console-operator/2025-10-03-161500.png)
## 常用控制台命令
这里的区块链的搭建是根据前一篇文章中的多机构多群组多节点的关系
### 合约相关命令
### 其他命令
- 查询区块高度:`getBlockNumber`
```bash title='output_example'
[group:1]> getBlockNumber
0
```
- 查看共识节点列表:`getSealerList`
```bash title='output_example'
[group:1]> getSealerList
[
d036a22f16909cba4c8521cd3c31db3be381e673c9749e3fd2848ab25eca134ef917cb9306f41893295c535078bce77bdc241eba3f92549a73efe4699d3c0df8,
f0535616759000b473a285d60814bc2c5927a9cb897644da46890de71e59df590cd6fe1b226a95e19a566b6fc127fd85032de0d9fdd3d529e5e50cd96ad51f28
]
```

View 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://image.simengweb.com/notes/ops/blockchain/practice/node-deployment/2025-10-02-172916.png)
## 参考文章
- [搭建第一个区块链网络](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)