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
- 查看用戶和資產,都沒有了