shitaibin.github.io icon indicating copy to clipboard operation
shitaibin.github.io copied to clipboard

Fabric 1.4源码解读 2:系统链码SCC是如何部署的 | Go语言充电站

Open Shitaibin opened this issue 5 years ago • 3 comments

http://lessisbetter.site/2019/09/11/fabric-deploy-scc/

前言一份Peer节点启动的INFO级别日志如下,可以发现: 先注册了scc目录下的lscc, cscc, qscc,未注册chaincode目录下的lifecycle 然后又依次部署了上述scc。 本文的目的就是梳理出,系统链码的部署流程,这是peer节点提供背书、链码管理、配置、查询等功能的基础。 12345678910111213142019-09-09 07:52:09.409 UTC

Shitaibin avatar Sep 12 '19 06:09 Shitaibin

分析的非常好,逻辑性很强!

bolenzhang avatar Feb 22 '20 13:02 bolenzhang

请教下大神,如何快速分析源码? 除了看些必要的文档,和略过一些非关键信息,带着问题看之类的,还有什么是必要的? 比如熟悉设计模式会对读源码有很大的帮助吗?

bolenzhang avatar Feb 22 '20 13:02 bolenzhang

@bolenzhang 请教下大神,如何快速分析源码? 除了看些必要的文档,和略过一些非关键信息,带着问题看之类的,还有什么是必要的? 比如熟悉设计模式会对读源码有很大的帮助吗?

  1. 如何快速分析源码? 除了看些必要的文档,和略过一些非关键信息,带着问题看之类的,还有什么是必要的?

a. 先利用现有的资料(文档、文章、PPT、演讲视频等),掌握宏观层面的原理。就像读书时,课本会介绍操作系统的原理、TCP的原理等,但是不会介绍源码一样,也比如,你掌握了C/Java/Go的语法,但不清楚某个语法是如何实现的一样。

b. 寻找一些你希望了解主题的源码分析文章,通过学习文章内容,初步掌握源码层面的实现。比如,想看Java垃圾回收的实现,就找Java垃圾回收源码分析的文章。

c. 按照已有的了解,再去找相关的代码,看当前实现的整个过程,但不要专注与某一个很细的点上,注重的是整个流程的走通。比如,还是Java垃圾回收,你需要看的是整个过程的主要函数的调用,而不是一些不重要的函数和分支上浪费时间。拘泥与某个点,会抓不住整个面,会懊恼,导致放弃。

d. 写注释,写笔记,最好能整理成文章。前面几部分都是学,都是input,最重要的是output,整理成文章的时候,以后的知识点,会重新思考,重新连接,这样才能深入理解某种实现。

  1. 熟悉设计模式会对读源码有很大的帮助吗?

总体来讲,会有帮助。但并不需要先去掌握所有的设计模式,再来看代码。而是,看代码的过程中,发现了使用了某个自己不熟悉的设计模式,可以先学一下这个设计模式。

Shitaibin avatar Feb 23 '20 02:02 Shitaibin