組織:java
是指這樣的一個社會實體,內部有不少成員。node
在Fabric中組織中含有的:shell
1.User多個api
2.進行數據處理的節點多個(peer)瀏覽器
put,get來處理data工具
節點: //fabric中節點能夠分類區塊鏈
client命令行
進行交易管理 實現方式->(Cli,node sdk,java sdk).blog
Cli:經過命令行使用shell對data進行數據提交和查詢。排序
nodejs:經過瀏覽器nodejs的PI來實現
java ->經過java api實現客戶端
一樣的Go也能夠
peer
存儲和同步帳戶數據
用戶經過客戶端工具進行put操做,數據寫入到一個節點裏
數據同步是Fabric本身完成
orderer
對交易進行排序和分發。//排序來解決雙花問題,同一個時間點發起多段交易
交易數據先進行打包而後寫入到區塊裏
通道channel: //節點在同一個channel才能互相通訊
channel是有共識服務(ordering)提供的一種通信機制,將peer和orderer鏈接在一塊兒,造成一個個具備保密性的通信鏈路,實現了業務的隔離,通道與帳本(ledger)和狀態worldstate緊密聯繫
三條線表明三個通道
consensus Server也就是orderer節點。
一個peer節點能夠加入多個channel
在同一個channel中使用的就是同一個區塊鏈
交易數據的流程:
完成交易的前提:必需要有背書策略
假設條件:
組織A中的成員必須贊成
組織B中的成員也必須贊成
1.ApplicationSDK:
充當客戶端角色
做用:
1.寫數據,查詢數據
2.客戶端發起一個提案,給peer節點
會發送給組織和組織中的節點
在當前假設下:
須要發送給組織A和組織B中的節點。
3.在peer節點將進行交易進行預演,獲得一個結果
4.peer節點將交易結果發送給客戶端
若是模擬交易失敗,終止交易
若是成功就繼續
5.客戶端將交易提交給排序節點
6.orderer對交易打包
7.數據同步發給peer節點,peer節點把數據寫入區塊鏈,而後同步全部peer
1.打包數據的發送
1.當存了足夠的量後纔會發送,而不是實時的。
2.經過設置條件來調整。
背書策略: //不是字面意思
完成一筆交易的具體過程就叫背書。
其實就是交易的方案。
先進行模擬演示成功後再真正執行
背書流程發送在預演階段