很多小伙伴毕业设计选择Fabric方向,大家对Fabric了解比较少,不知道该怎么开展,选的题目难度如何,需要多久的开发时间,怎么编写智能合约…
大家比较茫然,不知道怎么下手,总结一下大家的问题,希望对你们有帮助。

1.别给自己挖坑,对于技术改进要谨慎。

1)共识算法改进

如果您选择的是这个话题,恭喜你这个难度灰常大。Fabric共识算法改进,就算是企业级专业团队也需要比较长的时间开发,投入比较多的精力,专业团队还是建立在已经比较了解Fabric内部实现逻辑的基础上的。比如:PBFT算法改进,这里面理论是一回事,工程实践是另一回事,多种状态机转移场景很容易出现Bug,替换原由的etcdraft这么简单,类PBFT还需要修改区块头结构,需要动Peer节点的代码,并没有这么简单,再加上PBFT新增共识节点,这部分逻辑设计也比较复杂,虽然网上有很多改进PBFT的例子、以及基于caliper的测试,但实际操作后,你会大失所望的 ~

2) 智能合约间交互

有些同学对区块链模式进行创新,当某个节点对应的智能合约接收到数据转发给其他节点的智能合约,这点是很难做到的。为保证区块链所有合约执行的一致性,合约尽可能不去访问外部系统,以防止世界状态不一致。比如获取当天的天气情况并记录到区块链,获取天气情况对应的外部系统可能在不同时间获取到的数据不一致,导致智能合约存储的数据不一致,区块链网络执行异常。

3)智能合约引擎改进

这个话题比起智能合约间交互,是一个没有违背区块链涉及理念的改进。比如支持EVM引擎,这个方向很好,仍然是难度比较大。Fabric为了保证Peer节点与合约能够正常通信,设计一套交互机制、心跳机制,需要把这段逻辑看懂并改进。第二个难点是EVM需要一些自定义方法与Fabric底层进行通信,例如获取合约Key值,设置Key值等等,这部分是需要花时间来研究学习的,总之成本比较高,但是一个好题目。

2. 尽量选择依托业务场景的课题。

项目重点强调业务场景如何使用区块链,使用分布式账本技术有怎样的好处,弱化分布式账本系统本身。如果是做课题的时候现学Fabric技术,理解区块链底层原理、操作方法会比较生疏,万一被评审老师问到知识盲点,一紧张容易答不上,脑瓜子嗡嗡的~

3. Fabric学习路径。

如果你是真的有想法、有动力了解区块链技术,建议你学习的路径如下:

  • Fabric环境部署。现在网上环境部署贴子超级多,但很多都没办法使用,这个不能怪贴子的作者,作者写文章的时候,帖子的方法确实是可用的。但随着时间推移,代码更新,且Fabric官方Sample工程的版本控制不太好,加上不同Docker与Docker-compose版本导致部署起来问题比较多。这个版本比较新,我们商用也是用这个版本,妥妥的没问题。
  • docker学习。docker是容器化技术,fabric的peer、order、chaincode都是以容器形式运行的,这里不需要花费大量时间学习docker原理,只需要会一些docker的命令,例如docker
    ps、docker images、docker exec等。
  • 部署脚本学习。官方sample下的test_network有脚本负责集群的启动,新增节点、install、approve、commit chaincode,这里需要一行一行的阅读,读明白集群启动的时候
    shell脚本都干了什么事情,怎样添加的合约。学习shell,网上找个菜鸟教程就可以。
  • 智能合约开发。这里需要读明白官方提供的basic例子是如何运行的,什么API能插入数据,什么API能查询数据,再查看basic如何使用命令行来发送数据的、开发完的合约如何打包、如何安装到区块链上(这里需要运用上一步学到的脚本知识)
  • 学习部署区块链浏览器。通过区块链浏览器可以查看通道信息、组织信息、合约信息、节点信息等等,当你操作完合约,可以通过浏览器进行验证。

4. 做个广告 (Fabric2.2 全面学习)

最近在整理Fabric2.2的一个全面学习材料(在我的专栏),思路:把官方Demo从头到尾跑一遍,然后依托一个业务场景(农产品溯源)带领大家做一遍,从需求整理、方案设计、自定义集群部署、合约开发、合约安装、测试脚本编写,做一个全流程的课程,为新手准备,有经验的就不要掺和了~ 同时大家有什么想听的、没学明白的,我可以在评论区解答,或者有业务场景不知道如何基于区块链做方案设计的,也可以给大家聊聊(设计免费,不收Money)

区块链业务场景、技术资料的可以在CSDN私聊我(CSDN不允许发微信号的),试试看吧,有就给大家了,没有就没办法了,祝大家好运。

毕业设计选择区块链 Fabric方向需要注意哪些相关推荐

  1. 创业者该如何选择区块链游戏赛道?

    FBEC2018由深圳市互联网文化市场协会.广东省游戏产业协会指导,游戏陀螺.陀螺财经.正中企业服务联合主办的2018未来商业生态链接大会暨第三届金陀螺奖颁奖典礼(简称"FBEC2018&q ...

  2. 区块链技术方向的就业前景

    区块链技术是一个快速发展的领域,目前正在被越来越多的企业和组织广泛应用.区块链技术在金融.物流.医疗.社交媒体等众多领域都有着广泛的应用.因此,区块链技术方向的就业前景非常乐观. 区块链技术是新一代信 ...

  3. 区块链Fabric技术在托管业务中的运用初探

    2019独角兽企业重金招聘Python工程师标准>>> 区块链Fabric技术在托管业务中的运用初探 什么是Fabric技术 HyperLedger是IBM.Intel等多家公司正开 ...

  4. 全球金融市场波动情况下如何选择区块链项目2.0

    实用性(Utility)是很多知名品牌商通过NFT在元宇宙领域的第一次试水! 自身元素的实用性(Utility)和资产的可兑换性(Redeemability)在很大程度上决定了区块链项目是否能长远发展 ...

  5. 区块链Fabric 技术架构和交易流程

    Fabric 架构 总体架构核心部分由成员管理(Membership services).共识服务(Consensus services)和智能合约(Chain-code Services)三部分, ...

  6. 怎样选择区块链投资项目?

    自区块链诞生以来,市场通过国际博协.国际海事组织.IEO和其他方法收获了"韭菜".同时,它也给普通人带来了大量的投资机会,一夜暴富的神话并不少见.随着区块链工业的发展,越来越多的投 ...

  7. 【深度探讨】公共部门在选择区块链平台时要考虑的6个方面

    发表时间:2022年8月17日 信息来源:bsvblockchain.org 与私营企业相比,全球的公共部门组织在考虑升级软件解决方案时面临着一系列的全新挑战.公共部门的决策流程冗长而复杂,他们要不惜 ...

  8. 区块链Fabric策略管理和访问控制

    策略定义以及分类 Fabric网络中,有很多的地方使用策略进行管理,策略管理是一种权限管理的方法 Fabric支持下列三种策略: 交易背书策略 链码实例化策略 通道管理策略 策略类型有下列两种: Si ...

  9. 区块链 fabric 1.4.4 搭建,Mysql 安装,区块链项目设计介绍

    一起学习.讨论的伙伴 +q 260261476,交流.指导!(https://blog.csdn.net/TBBetter/article/details/120749172)等项目设计 instal ...

最新文章

  1. 第二十一课.粒子滤波器
  2. MariaDB三种方法安装及多实例实现
  3. mysql数据存储7天_MySQL开启binlog并且保存7天有效数据
  4. 事务管理基础:两段锁协议、活锁、死锁相关知识整理
  5. Matlab生成棋盘格点图
  6. duplicate复制数据库
  7. 【EMNLP2020】最后论文征稿通知和常见问题解答
  8. Jasmine基础API
  9. typora快捷键使用
  10. python读取fits第三方库_python-astropy.io.fits从具有多个HDU的大型fits文件中读取行
  11. 计算机专业的在职考研,2019年深造北京航空航天大学在职研究生计算机专业在职考研科目是什么...
  12. C语言编写程序:判断某年份是否为闰年
  13. EGE基础入门篇(九):双缓冲与手动渲染
  14. IT行业分析之嵌入式应用
  15. LeetCode算题——7月
  16. Emscripten的研究与学习 --- 初探Emscripten
  17. flutter 通讯录
  18. Word2003入门动画教程74:在Word中插入自选图形
  19. python百题大通关解题记录-排序算法
  20. 在“iEnglish英语风采”中,看到“双减”本质

热门文章

  1. win2016搭建故障转移群集(sql2016)
  2. totolink服务器未响应,TOTOLINK 路由器 192.168.0.1登录页面打不开解决办法
  3. acm国际大学上计算机竞赛,2018年ACM国际大学生程序设计竞赛校内选拔赛报名通知...
  4. 学生限时答题评测系统
  5. js实现五星评分的效果
  6. 区块链企业想要永久改变非洲农业
  7. 《大话数据结构》3、4、5线性表、栈与队列、串
  8. 登录页面报警告: This page includes a password or credit card input in a non-secure context.
  9. ZZ:OpenSSL中产生RSA KEY以及读取PEM文件的问题
  10. Ubuntu16.04下TensorFlow-GPU安装记录(GTX1060显卡)