fabric-sdk-go國密改造記錄及思路

545305939 · · 157 次點擊 · · 開始瀏覽    

fabric的sdk支持語言如下:

     golang語言:github.com/hyperledger/fabric-sdk-go

     java語言:github.com/hyperledger/fabric-sdk-java

    nodejs:github.com/hyperledger/fabric-sdk-node

當前各版本情況 java-v1.4.5,node-v1.4.4,golang-v1.0.0-beta1,java和node版本的sdk都比較完善,golang的sdk目前還是beta版本,但是基本上可以使用。

fabric-sdk-go國密改造如下:

 一、fabric-sdk-go基本目錄結構介紹

        1、internal目錄,主要是包含fabric,fabric-ca源碼包

        2、pkg目錄是sdk的主要代碼包

                 pkg/fabsdk: Fabric SDK的主要包。 此包允許基于配置創建上下文

                 pkg/client/channel: 提供頻道交易相關功能

                 pkg/client/event: 提供頻道事件相關功能

                 pkg/client/ledger: 啟用對頻道底層分類帳的查詢相關功能

                 pkg/client/resmgmt: 提供資源管理功能,例如安裝鏈碼

                 pkg/client/msp: 啟用身份管理相關功能

        3、third_party目錄第三方代碼包

        4、vendor三方依賴包

二、fabric-sdk-go使用基本流程

      1、使用配置實例化fabsdk實例;

      2、使用實例化的fabsdk實例,基于用戶和組織創建上下文;

      3、使用New func創建客戶端實例,傳遞上下文;

      4、使用每個客戶端提供的功能執行相關操作;

      5、調用fabsdk.Close()來釋放資源和緩存。

三、internal目錄國密改造

      internal目錄主要是fabric和fabric-ca源碼,只需要對應的參照fabric和fabric-ca的改造進行改造即可。

四、pkg目錄國密改造

    1、  pkg是fabric-sdk-go的主要功能目錄,包含了賬本、交易、事件、資源管理和身份管理的相關功能;

    2、密碼算法替換規則與fabric一致

    3、需要修改的文件目錄如下:

          pkg/client/common/verifier/signature.go

          pkg/common/providers/fab/network.go

          pkg/common/providers/fab/provider.go

          pkg/common/providers/test/mockfab/mockconfig.go

          pkg/core/config/comm/comm.go

          pkg/core/cryptosuite/cryptosuite.go

          pkg/core/config/comm/tls/certpool.go

          pkg/core/config/endpoint/endpoint.go

          pkg/core/config/cryptoutil/cryptoutils.go

           pkg/fab/opts.go

           pkg/fab/peer/peer.go

           pkg/fab/mocks/mockconfig.go

           pkg/fab/endpointconnfig.go

           pkg/fab/peer/peerendorser.go

           pkg/fab/comm/connectionopts.go

            pkg/fab/comm/streamconnection.go

            pkg/fab/channel/membership/membership.go

            pkg/fab/comm/connection.go

            pkg/fab/orderer/orderer.go

五、vendor目錄國密改造

     (1)、修改程序文件列表如下:

                vendor/github.com/Shopify/sarama/config.go

                vendor/github.com/Shopify/sarama/broker.go

總結:

       到目前為止fabric-sdk-go的國密修改已經完成。

入群交流(和以上內容無關):Go中文網 QQ 交流群:729884609 或加微信入微信群:274768166 備注:入群;關注公眾號:Go語言中文網

157 次點擊  
加入收藏 微博
暫無回復
添加一條新回復 (您需要 登錄 后才能回復 沒有賬號 ?)
  • 請盡量讓自己的回復能夠對別人有幫助
  • 支持 Markdown 格式, **粗體**、~~刪除線~~、`單行代碼`
  • 支持 @ 本站用戶;支持表情(輸入 : 提示),見 Emoji cheat sheet
  • 圖片支持拖拽、截圖粘貼等方式上傳