<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java隨記

    堅持就是勝利!

     

    Fabric 1.1源代碼分析(3) 系統鏈碼執行過程示例(弟弟篇)

    # Fabric 1.1源代碼分析(3) 系統鏈碼執行過程
    ## 1、系統鏈碼執行過程
    * 以peer channel join -b gensis.block命令為例。該命令結果是peer節點加入通道.
    這個命令會單獨啟一個進程.在該進程中會構建一個名稱為cscc的鏈碼消息傳到peer節點.
    通過grpc調用最終會進到endorser.go中的ProcessProposal函數進行處理。
    參考Fabric 1.1源代碼分析(2)http://www.tkk7.com/fool/archive/2018/06/12/433277.html
    系統鏈碼初始化過程,可以找到../shim/handler.go中
    的handleTransaction()函數.最終會調用res := handler.cc.Invoke(stub).這里的
    cc就是importsysccs.go文件中systemChaincodes數組中的cscc系統鏈碼的.    
    Chaincode,其實例是&cscc.PeerConfiger{},實現在cscc/configure.go文件中。每個系統
    鏈碼都實現了這個Chaincode接口()
    ```go
    type Chaincode interface {
        // Init is called during Instantiate transaction after the chaincode container
        // has been established for the first time, allowing the chaincode to
        // initialize its internal data
        Init(stub ChaincodeStubInterface) pb.Response

        // Invoke is called to update or query the ledger in a proposal transaction.
        // Updated state variables are not committed to the ledger until the
        // transaction is committed.
        Invoke(stub ChaincodeStubInterface) pb.Response
    }
    ```

    * 至此就可以清晰地看到每一個系統鏈碼都會啟動一對協程,通過chan通信。系統鏈碼消息由
    shim/handler.go中的函數處理.并且這里最終調用各自的具體實現的Ivoke方法進行業務處理

    ## 2、peer channel join命令處理流程圖
    * peer channel join命令會調用configure.go中的Excute方法。對應cscc系統鏈碼的處理,
    原因如下,以下流程圖大致可以了解cscc都做了些什么
    ![](cscc.png)

    ## 3、小結

    * 上面的流程圖也不是非常地強細,忽略掉了一些方法。但是有了整個流程的理解,就能理解其
    它系統鏈碼的調用過程,需要時直接細讀其實現就好了。從上流程圖中可以看到文件末尾添加區
    區塊,leveldb中記錄了區塊號,索引位置信息等等。另外因為系統鏈碼跟一般鏈碼雖然經過
    的文件基本一樣,但最終處理方式還是不一樣,一個是協程,一個是grpc.可能參考Fabric 1.1
    源代碼分析之 Chaincode(鏈碼)初始化 http://www.tkk7.com/fool/archive/2018/06/12/433275.html

    posted on 2018-06-13 14:37 傻 瓜 閱讀(1277) 評論(0)  編輯  收藏 所屬分類: 雜項

    導航

    統計

    常用鏈接

    留言簿(7)

    我參與的團隊

    隨筆分類

    隨筆檔案

    文章分類

    友情鏈接

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲国产成人精品无码区在线网站| 日本亚洲欧洲免费天堂午夜看片女人员| 久久精品国产亚洲AV嫖农村妇女 | 国产最新凸凹视频免费| 亚洲成a人片在线网站| 免费播放一区二区三区| 亚洲最大成人网色| 在线观看免费av网站| 亚洲高清日韩精品第一区 | 女人张开腿给人桶免费视频| 亚洲人成77777在线观看网| 毛片免费全部播放一级| 亚洲人成色777777老人头| 国产青草视频免费观看97| 美女黄频a美女大全免费皮| 亚洲欧洲一区二区三区| a毛片免费观看完整| 亚洲欧洲日产国产综合网| 成人黄色免费网址| 亚洲日本VA午夜在线电影| 大胆亚洲人体视频| 久久免费美女视频| 亚洲人成电影在线观看网| 香蕉视频在线观看免费国产婷婷| 亚洲成a∧人片在线观看无码| 内射无码专区久久亚洲| 91在线免费视频| 亚洲国产日韩在线成人蜜芽| 女人18毛片特级一级免费视频| 国产精品亚洲精品日韩电影| 亚洲乱码中文字幕久久孕妇黑人| 37pao成人国产永久免费视频 | 亚洲一卡二卡三卡| 国产成人免费高清在线观看| 99re6在线精品免费观看| 亚洲一区二区三区精品视频| 一本色道久久88亚洲综合 | a级成人免费毛片完整版| 亚洲啪啪免费视频| 亚洲午夜精品一级在线播放放| 4444www免费看|