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

· · 226 次點擊 · · 開始瀏覽     編輯

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的國密修改已經完成。

本文來自:簡書

感謝作者:

查看原文:fabric-sdk-go國密改造記錄及思路

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

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