Allureluoli 二月FEBRUARY

差几名银牌之后:把我的区块链国赛备赛笔记公开

之前打国赛,最后惜败,离银牌差了几名。现在决定把当时留下的学习笔记整理出来,放到博客里公开,希望这些实操记录和踩过的坑,也能帮到后来准备比赛的人。

这些内容是我当时的学习过程,有完整的命令和代码,也有没做完的部分、对题目的推测,以及为了练习自己补出来的示例。整理时保留了这些区别,不把练习记录当成标准答案。

这套笔记怎么读

如果从零开始,可以先走 FISCO BCOS 建链、控制台、扩容和 WeBASE 这条线,再读 Solidity 与 ABI,之后练合约测试和前后端联调。安全实验与 Uniswap 源码放在后半部分。

文章使用整理日期,不推断原始比赛日期或赛事届次。原笔记混有 Solidity 0.4.x、0.5.x、0.8.x,FISCO BCOS 不同部署模式,以及本地以太坊开发链;它们是不同练习环境,不能合并成一个依赖清单。

系列目录

  1. FISCO BCOS 建链、端口与控制台配置
  2. FISCO BCOS 控制台命令与节点状态检查
  3. FISCO BCOS 节点扩容:角色、证书与 Air 实操
  4. WeBASE 部署、用户管理与 CNS
  5. WeBASE-Front 启动失败:一次证书不匹配排查
  6. Solidity 存证合约:存储、接口与工具库
  7. 读懂 Solidity ABI、调用输入与 FISCO 交易回执
  8. 供应链金融合约:企业、票据与转账业务
  9. Foundry 入门:工具分工与 Counter 测试
  10. Rust 智能合约初识:ink! 存储、消息与单元测试
  11. Spring Boot 接口开发与 OpenAPI 调试笔记
  12. Vue 与 Thymeleaf:比赛前端源码阅读
  13. Spring Boot 通过 Web3j 调用本地合约
  14. 流程模拟:四节点建链与 WeBASE 部署
  15. 流程模拟:用 Docker 部署四节点联盟链
  16. Bank 合约练习:功能测试与取款边界
  17. Uniswap V2 工厂合约:交易对与 CREATE2
  18. Uniswap V2 Pair:流动性与交换测试阅读笔记
  19. 合约安全实验:重入攻击与测试记录
  20. 合约安全实验:算术溢出与下溢
  21. 合约安全实验:delegatecall 与存储槽覆盖
  22. 合约安全实验:签名重放与防护思路
  23. 合约安全实验:selfdestruct 的版本边界
  24. 备赛运维补充: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 参数以及监控循环,并删除证书排错中的密钥输出。原始笔记保留在本地,没有覆盖。

评论COMMENTS