之前打国赛,最后惜败,离银牌差了几名。现在决定把当时留下的学习笔记整理出来,放到博客里公开,希望这些实操记录和踩过的坑,也能帮到后来准备比赛的人。
这些内容是我当时的学习过程,有完整的命令和代码,也有没做完的部分、对题目的推测,以及为了练习自己补出来的示例。整理时保留了这些区别,不把练习记录当成标准答案。
这套笔记怎么读
如果从零开始,可以先走 FISCO BCOS 建链、控制台、扩容和 WeBASE 这条线,再读 Solidity 与 ABI,之后练合约测试和前后端联调。安全实验与 Uniswap 源码放在后半部分。
文章使用整理日期,不推断原始比赛日期或赛事届次。原笔记混有 Solidity 0.4.x、0.5.x、0.8.x,FISCO BCOS 不同部署模式,以及本地以太坊开发链;它们是不同练习环境,不能合并成一个依赖清单。
系列目录
- FISCO BCOS 建链、端口与控制台配置
- FISCO BCOS 控制台命令与节点状态检查
- FISCO BCOS 节点扩容:角色、证书与 Air 实操
- WeBASE 部署、用户管理与 CNS
- WeBASE-Front 启动失败:一次证书不匹配排查
- Solidity 存证合约:存储、接口与工具库
- 读懂 Solidity ABI、调用输入与 FISCO 交易回执
- 供应链金融合约:企业、票据与转账业务
- Foundry 入门:工具分工与 Counter 测试
- Rust 智能合约初识:ink! 存储、消息与单元测试
- Spring Boot 接口开发与 OpenAPI 调试笔记
- Vue 与 Thymeleaf:比赛前端源码阅读
- Spring Boot 通过 Web3j 调用本地合约
- 流程模拟:四节点建链与 WeBASE 部署
- 流程模拟:用 Docker 部署四节点联盟链
- Bank 合约练习:功能测试与取款边界
- Uniswap V2 工厂合约:交易对与 CREATE2
- Uniswap V2 Pair:流动性与交换测试阅读笔记
- 合约安全实验:重入攻击与测试记录
- 合约安全实验:算术溢出与下溢
- 合约安全实验:delegatecall 与存储槽覆盖
- 合约安全实验:签名重放与防护思路
- 合约安全实验:selfdestruct 的版本边界
- 备赛运维补充:Bash 监控、MySQL 与 Docker 推演
当时如何拆解备赛任务
下面是原笔记中的备赛范围与权重摘录,尚未完成来源核对,只能代表当时的学习规划,不作为当前赛制说明。
| 任务模块 | 权重 | 考察点 |
|---|---|---|
| A 区块链网络搭建、监控与维护 | 20% | 基于Ubuntu虚拟化开发环境,使用预编译二进制文件搭建企业级区块链开发平台,含FISCO BCOS区块链底层技术平台和区块链控制台等,按要求进行扩容和区块链网络配置,并监控区块链网络的运行状态。 |
| B 智能合约开发与测试 | 20% | 基于业务背景,使用Solidity合约语言进行智能合约开发与测试,并完成合约编译、部署,实现不同业务智能合约的测试。 |
| C 智能合约的编译、部署、调用 | 15% | 智能合约的编译、部署、调用、发送交易等,并通过区块链中间件平台完整展示业务逻辑。 |
| D 前端开发 | 10% | 基于前端开发框架VUE完成页面逻辑和展示。 |
| E 区块链应用系统开发与测试 | 20% | 利用后端Java编程语言,实现应用程序接口、完善区块链应用系统接口,调用智能合约开发结果,实现上链以及链上信息查询展示。 |
| F 项目文档编写 | 5% | 根据项目需求和实施成果,编写区块链应用系统测试用例等项目文档。 |
| G 集成测试与部署 | 5% | 根据开发完成的前后端项目,编译项目并部署环境启动容器,完成集成测试。 |
| H 职业素养 | 5% | 团队分工明确合理、操作规范、文明竞赛。 |
FISCO-BCOS系统 模块A
- 使用预编译二进制文件搭建企业级区块链开发平台
- FISCO BCOS区块链底层技术平台
- 区块链控制台
- 附加:
- 扩容
- 增加更多节点,新建更多群组
- 区块链网络配置
- 监控区块链网络的运行状态
- 监控区块链网络的节点数量、节点ID、块高、pbftview和节点运行状态
- 扩容
Solidity 智能合约 模块B
Solidity智能合约开发
- 转账合约:
- 接口合约:
- 存储合约:
Solidity智能合约测试
Solidity智能合约编译、部署
实现不同业务智能合约的测试
智能合约的使用 模块C
智能合约编译部署后,发送交易
通过区块链中间件平台完整展示业务逻辑
前端开发 模块D
- 使用VUE完成
dapp前端开发 - 完成页面逻辑和展示
区块链应用系统开发与测试 模块E
- 又名 智能合约使用 JAVA 后端调用
- 应用程序接口
- 完善区块链应用系统接口
- 调用智能合约开发结果
- 实现上链以及链上信息查询展示
编写项目文档 模块F
- 根据项目要求内容和实现编写出相应的项目文档
- 编写区块链应用系统测试用例
集成测试与部署 模块G
- 编译项目并部署环境启动容器,完成集成测试
可能出现的内容:
- 智能合约漏洞攻击和防护
最后几天的练习安排
下面保留原笔记的日期标记,不据此推断年份。
10.8
Foundry Rust
Brownie Python
再写一个 Solidity 金融管理合约
SQL 创建用户 设置权限练习
10.9
- Solidity 合约
- Solidity 漏洞复现练习和深层了解
- Solidity
10.10
- 前端调用合约练习
- 前后端交互复现
整理范围与未完成部分
空白的 Foundry_Rust、只有标题的抓包笔记和占位 README 没有单独发布。安全实验、Uniswap 与 Rust 内容保留为学习记录,未补造测试通过结果。源码引用继续保留原有注释,涉及第三方代码时应同时遵循上游许可。
本次修订纠正了回执状态、接口可见性、ERC20 transfer 参数以及监控循环,并删除证书排错中的密钥输出。原始笔记保留在本地,没有覆盖。
本文作者 Allureluoli
文字版权归作者所有,转载请注明出处;商业用途请先联系二月。