日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

集成OSS應用示例

為了保證數據或文件的不變性,我們提供了一個應用示例程序,將文件存儲在OSS上,并在Hyperledger Fabric上記錄文件的哈希值。

該示例程序基于Hyperledger Fabric Go SDK,運行示例程序前請確保Go開發環境已經正確配置。具體配置方法可以參考Go SDK使用示例

創建OSS存儲空間

示例程序會把文件上傳到 OSS 存儲空間中,所以在運行示例程序前需要先創建存儲空間。 假設存儲空間的名稱為“new-bucket”,稍后我們將使用它。

下載示例程序

將示例程序 go-oss-demo-1.4.5 下載到本地目錄: $GOPATH/src, 并解壓縮。將配置文件 connection-profile.yaml 復制到目錄下 $GOPATH/src/go-oss-democonnection-profile.yaml的獲取方法可以參考Go SDK使用示例

部署鏈碼

將鏈碼文件 chaincode/sacc.out 上傳到阿里云 BaaS,并實例化。具體的操作方法可以參考部署鏈碼

運行示例程序

首先,執行如下命令編譯出兩個可執行文件pushfetch

./build.sh
  • push 讀取本地文件并計算文件的哈希值,通過調用Fabric鏈碼將哈希值記錄在賬本中,最后將文件上傳到OSS。

  • fetch 讀取文件哈希值,通過查詢Fabric鏈碼確認哈希值存在于賬本中,然后從OSS下載對應的文件到本地。

push and fetch 依賴一些環境變量,需預先進行設置:

export baas_user="user"  # 在阿里巴巴 BaaS 控制臺中創建的用戶名。
export baas_secret="password"  # 用戶的密碼。
export baas_channel="first-channel"  # 通道名
export oss_ak="ak"   # 用于上傳至OSS的AK
export oss_ak_secret="secret"  # 用于上傳至OSS的AK密碼
export oss_endpoint="oss-cn-hangzhou.aliyuncs.com"  # OSS的訪問域名
export oss_bucket="new-bucket"  # 之前創建的OSS存儲空間名

準備完成,開始上傳文件:

$ ./push README.md
Going to enroll user
 [fabsdk/fab] 2019/02/19 07:39:26 UTC - lib.(*Client).initHTTPClient -> INFO TLS Enabled
 [fabsdk/fab] 2019/02/19 07:39:26 UTC - util.BCCSPKeyRequestGenerate -> INFO generating key: &{A:ecdsa S:256}
 [fabsdk/fab] 2019/02/19 07:39:26 UTC - log.print -> INFO encoded CSR
Success enroll user: appuser1
======================================================
[-] Uploading README.md to Alibaba Cloud OSS, MD5: 9218e8b37fabdc50bb6eca8597ffce22
[-] Upload MD5 to chaincode...
[-] Done.

命令行輸出表示文件的哈希值為:9218e8b37fabdc50bb6eca8597ffce22,接下來示例程序將使用該哈希值下載文件:

$ ./fetch 9218e8b37fabdc50bb6eca8597ffce22
User appuser1 already enrolled, skip enrollment.
======================================================
[-] Fetch file info from chaincode...
Chaincode status:  200
Payload:  baas-sdk-test1.9218e8b37fabdc50bb6eca8597ffce22
[-] Downloading to 9218e8b37fabdc50bb6eca8597ffce22
[-] Done.

新下載的文件名為:9218e8b37fabdc50bb6eca8597ffce22,并且我們可驗證文件的內容和上傳的文件完全一致。

更多關于Hyperledger Fabric Go SDK的使用方法可以參考Go SDK使用示例