自身总结
从两年前开始接触区块链开始,因为身边没有几个一起学习的同伴,总是断断停停。学习的内容比较片面,也没有学习计划。现在都要毕业了,突然发现自己浪费了好多的时间,以前网上聊过的大佬都在进步,自己水平一般却在固步自封。
不足
-
没有深入实践过共识机制
无论是在实际开发还是理论学习中,没有深入学习过共识机制。
在开发中,一直使用节点自带的solo共识,使用单orderer节点,完全对共识的运行不了解,raft,kafka都是一知半解。
理论方面,书看一遍就过,只了解最简单的PBFT等算法,分布式系统的东西理解的不深。
-
单一系统
目前主要制作过基于区块链的数据管理、溯源和实现交易的系统,对于其他的系统、比如数字确权、投票、隐私计算的系统都很陌生,业务逻辑不清楚。
-
链码调试模式
因为做过的东西简单,所以链码的调试是硬调试。直接命令行初始化调用监测,没了解过链码的开发模式。而且写的链码太简单了。要尝试复杂的。
-
多通道
做的系统大多是单通道的
-
技术栈单一
golang写链码,node SDK写应用层,没有尝试过其他的技术栈。底层数据库只用couchDB,Fabric CA只使用Mysql。
-
身份认证
目前看到过的成品系统,基本没有完整的身份认证系统。写的系统实际上都是单用户、硬编码的,没有区块链项目的隐秘性。
-
其他区块链项目
现在只关注Hyperledger Fabric,其他的区块链项目没有实践过,仅仅只是了解,比如以太坊、fisco-bcos等。
目标
对应刚才的不足
- 多做几次实验,实践一下不同的共识算法,至少得知道raft、kafka,Ibft可以暂时只做了解。其余的共识算法必须了解:DPos、PBFT,还要纵向对比。
- 多看开源代码,顺便找一下有没有合适的身份认证模块,确权和隐私计算相关的系统必须学习。
- 学会链码调试,拓展更多链码用法,多看源码和fabric提供的智能合约样例,至少富查询、分页查询等得会用。
- 多写几个多通道的,尝试不同的配置,设置不同组织的不同读写权限。
- 至少使用java写链码和应用层,底层数据库和CA数据库至少会一种其他的。
- 用fabric的密钥标识符和用户名设计一套身份认证系统,结合链上链下数据库,要求切实可行、保障隐秘程度(做完试试小论文,结合国密)。
- 不涉及开发,但得跑跑样例,基础知识得补充完整,纵向比较。
然后就是终极目标了:
做一套快速开发模板,结合ruoyi,如果做不到让所用人都可以使用,至少可以在学习一段时间后使用,能在实验室传下去。
一切都以快速开发模板为主线,明年毕业前(2024.6)至少要基本完成小目标,快速开发模板毕业前做不出来的话,就延长,但不能拖太久。即使以后不从事这一行,也要完成这个目标。虽然不想别的大佬从底层解决问题,但也想有自己的成就。无关利益,只为试试自己的深浅。
最后夸夸自己吧
- docker使用的不错,快速部署的能力还是有的。
- 喜欢尝试,windows环境下的搭建方法也尝试出来了。
- 给很多人解决了问题,至少不是只了解的概念的基础小白,是一个实践型强化小白。
- 能独立解决问题,能实践联系理论,从实践中领悟设计思路的感觉是真的爽。