2.08 hyperledger fabric完整案例

1.fabric開發流程

  • 需求整理
  • 合約編寫
  • 合約部署
  • 合約交互
  • 外部服務編寫
    在這裏插入圖片描述

2.需求分析

  • 開發一個資產轉讓功能模塊
  • 平臺功能
    • 用戶開戶和銷戶
    • 資產登記,解決資產上鍊和用戶綁定資產
    • 資產轉讓,資產所有權的變更
    • 查詢功能,用戶查詢、資產查詢、資產變更歷史查詢

3.合約編寫

  • assetsExchange.go

4.合約部署

  • 關閉docker
    在這裏插入圖片描述
  • 生成通道的創世交易
    在這裏插入圖片描述
  • 查看生成的交易文件
    在這裏插入圖片描述
  • 啓動網絡
    在這裏插入圖片描述
  • 登錄到client會話操作
    在這裏插入圖片描述
  • 創建通道
    在這裏插入圖片描述
  • 查看通道
    在這裏插入圖片描述
  • 加入通道
    在這裏插入圖片描述
  • 創建mychannel
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 安裝智能合約
    在這裏插入圖片描述
  • 鏈碼實例化
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 註冊用戶
    在這裏插入圖片描述
  • 查詢用戶
    在這裏插入圖片描述
  • 資產登記
    在這裏插入圖片描述
  • 資產查詢
    在這裏插入圖片描述
  • 註冊第二個用戶
    在這裏插入圖片描述
  • 查詢第二個用戶
    在這裏插入圖片描述
  • 資產轉讓
    在這裏插入圖片描述
  • 查看用戶2的資產信息,已經有資產1的Id了
    在這裏插入圖片描述
  • 查詢資產1的歷史
    在這裏插入圖片描述
  • 查詢所有資產的變更歷史
    在這裏插入圖片描述
  • 註銷用戶
    在這裏插入圖片描述
  • 查詢用戶是否存在
    在這裏插入圖片描述

5.鏈碼開發者模式

  • 特殊配置
    • 使用dev模式啓動peer節點
    • 方法一:peer node start --peer-chaincodedev=true
    • 方法二(給peer節點注入環境變量):CORE_CHAINCODE_MODE=dev
  • 刪除之前的網絡
    在這裏插入圖片描述
  • 修改文件
    在這裏插入圖片描述
  • 啓動網絡
    在這裏插入圖片描述
  • 運行代碼
    在這裏插入圖片描述
  • 進入cli
    在這裏插入圖片描述
  • 創建通道
    在這裏插入圖片描述
  • 加入通道
    在這裏插入圖片描述
  • 安裝鏈碼
    在這裏插入圖片描述
  • 實例化鏈碼
    在這裏插入圖片描述
  • 註冊用戶
    在這裏插入圖片描述
  • 查詢用戶
    在這裏插入圖片描述
  • 修改方法
    在這裏插入圖片描述
  • 再次運行,就可以生效
    在這裏插入圖片描述
  • 關閉docker
    在這裏插入圖片描述

6.外部服務分析

  • 如何提供服務,決定於應用場景,也就是決定於終端用戶
    • 智能硬件:提供socket或tcp服務,主流是還是socket服務,例如太陽能發電終端
    • 遊戲、電商、社交:web或手機app,提供http服務(接下來例子採用http)
    • 企業內部:rpc或grpc服務
  • 如何選擇SDK
    • node.js
    • java
    • python
    • golang
  • SDK的模塊
    • 區塊鏈管理:例如通道的創建和加入、鏈碼的安裝、實例化和升級等(區塊鏈和管理員或者雲服務提供商去用)
    • 數據查詢:區塊(區塊瀏覽器)和交易的查詢
    • 區塊鏈交互:發起交易(invoke或query)
    • 事件監聽:業務事件(SendEvent)、系統事件(block/trancastion)

7.SDK下載和配置

  • 搜fabric-sdk
    在這裏插入圖片描述
  • 可以查看4個SDK的release
    在這裏插入圖片描述
  • 這裏選用第三個版本
    在這裏插入圖片描述
  • 下載SDK
    在這裏插入圖片描述
  • 切換版本
    在這裏插入圖片描述
  • 查看日誌
    在這裏插入圖片描述
    在這裏插入圖片描述

8.外部服務編寫和部署

  • 編寫main.go
  • 編譯文件
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 運行外部服務
    在這裏插入圖片描述
    在這裏插入圖片描述

9.外部服務調用

  • 進入目錄
    在這裏插入圖片描述
  • 啓動網絡
    在這裏插入圖片描述
  • 登錄到client會話操作
    在這裏插入圖片描述
  • 創建通道
    在這裏插入圖片描述
  • 加入通道
    在這裏插入圖片描述
  • 安裝智能合約
    在這裏插入圖片描述
  • 鏈碼實例化
    在這裏插入圖片描述
  • 用戶註冊
    在這裏插入圖片描述
  • 可以去linux中查詢用戶
    在這裏插入圖片描述
  • 用戶查詢,目前user2的資產還沒有登記
    在這裏插入圖片描述
  • 爲user2資產登記
    在這裏插入圖片描述
  • 再次查詢user2,此時已經有資產了
    在這裏插入圖片描述
  • 也可以單獨查詢資產
    在這裏插入圖片描述
  • 創建user3用戶,測試資產轉讓
    在這裏插入圖片描述
  • user2的asset2資產,轉讓給user3
    在這裏插入圖片描述
  • 查看user2和user3,資產已經被轉讓給了user3
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 查詢資產變更歷史
    在這裏插入圖片描述
  • 刪除user3
    在這裏插入圖片描述
  • 查看用戶和資產,都沒有了
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章