簡介
這個 15 分鐘的教學課程示範如何安裝與 Oracle Blockchain Platform 套件的汽車經銷商範例鏈碼、在通道上部署這個程式碼,並且確認它正在執行、呼叫基本交易以將區塊新增至分類帳,以及確認已正確新增區塊。
背景
區塊鏈平台實作了分散式、防竄改的資料分類帳,這些資料會在信任的業務網路上安全地共用。區塊鏈是一個不斷成長的記錄清單,稱為區塊,這些記錄會使用加密功能加以連結及保護。
Chaincodes 在分類帳中定義資料綱要、起始該綱要、在應用程式觸發時執行更新及回應查詢。鏈碼也可以張貼事件,以通知應用程式並執行下游作業。
通道分割區及隔離對等體與分類帳資料,以提供區塊鏈網路上的專用與機密交易。成員定義和結構通道,以允許特定對等體進行專用和機密交易,但相同區塊鏈網路上的其他成員無法看到或存取。每個通道都包含對等體、共用分類帳、在通道上建立鏈碼,以及一或多個排序服務節點。
對等節點包含分類帳的複本,並將交易寫入分類帳。這些節點也可以背書交易。
REST 代理主機節點會將應用程式識別對應至區塊鏈成員,讓使用者和應用系統能夠呼叫 Oracle Blockchain Platform REST API。
汽車經銷商樣本包含一條鏈碼來管理車輛零件的生產、移轉與查詢;這些零件的車輛組合;以及車輛的移轉。若要執行範例,您需要完成下列步驟:
- 在一或多個對等上安裝鏈碼。
- 在通道上部署鏈碼。
- 使用 REST API 呼叫或應用程式呼叫鏈碼。
您可以下載範例以進一步探索程式碼,或作為您專屬鏈碼或應用系統的基礎。
必要條件
- Oracle Blockchain Platform 創辦人執行處理。
- 您執行處理的管理員存取權。
- Oracle Blockchain Platform 主控台的 URL。
- 執行處理隨附的通道 (
default
)。 - 執行處理隨附的對等 (
peer0
和peer1
),並加入default
通道。 - 執行處理隨附的預設 REST 代理主機節點 (
restproxy
)。
工作 1:安裝範例
安裝作業是將鏈碼放在對等上。
- 使用管理使用者 ID 登入 Oracle Blockchain Platform 服務主控台。
- 按一下開發人員工具頁籤。
- 按一下範例窗格。
- 在範例窗格中,找到「汽車經銷商」範例,然後按一下安裝。
- 在「安裝 CarDealer 鏈碼」對話方塊中,從對等下拉式清單中選取
peer0
,然後按一下安裝。將語言下拉式清單設為Golang
。 - 按一下「鏈碼」頁籤。將會顯示「鏈碼摘要」頁面,顯示已經封裝
obcs-cardealer
鏈碼,並指定套裝程式 ID。按一下已在對等項目安裝資料欄中的1
。會顯示「安裝在對等摘要」頁面,顯示鏈碼安裝在peer0
上。
作業 2:部署範例
部署鏈碼可在先前安裝的所選通道和對等體上核准及確認鏈碼定義。部署交易會呼叫生命週期鏈碼 (_lifecycle),以在通道上部署鏈碼。
- 在開發人員工具頁籤的範例窗格中,找到「汽車經銷商」範例,然後按一下部署。在「部署鏈碼」對話方塊中,選取下列項目並按一下部署
- 通路:
default
Golang
。 - 通路:
- 部署鏈碼之後,請移至「鏈碼」頁籤。對於以
obcs-cardealer
開頭的套裝程式 ID,請按一下部署於通道資料欄中的1
。會顯示「部署於通道摘要」頁面,顯示已在您選取的default
通道上部署鏈碼。 - 在管道頁籤上,按一下您執行範例鏈碼的
default
通道。按一下已部署的鏈碼窗格,以確認通道 (obcs-cardealer
鏈碼) 上有一個鏈碼部署。Deployment-channel.png 圖例描述
作業 3:呼叫範例
呼叫是呼叫鏈碼函數的程序。儘管如有需要,您還是可以使用直接的 REST API 呼叫,內含的應用系統。
- 在開發人員工具頁籤中,開啟範例窗格,找出「汽車經銷商」範例,然後按一下呼叫。
- 在「呼叫鏈碼」視窗中,使用下列資訊建立輪胎,然後按一下執行:
- 語言:
Golang
- 通路:
default
- 動作:
Produce vehicle part
- 序號:
tr357
- 擁有者:
bobsmith
- 名稱:
tire357
- 組合程式:
sevencorp
- 組件日期:
Thursday, December 9, 2021
Call-create-part.png 圖例描述 - 語言:
- 在管道頁籤上,尋找並按一下
default
通道。 - 在分類帳窗格中,找出指出資料呼叫發生的區塊編號。
- 選取區塊,並確認在「交易」表格中,您會在「狀態」資料欄中看見
Success
。 - 按一下交易 ID 旁的箭頭圖示可顯示交易的詳細資訊。
備註:
因為您要呼叫「汽車經銷商」鏈碼,所以交易中會列出obcs-cardealer
鏈碼。函數名稱為initVehiclePart
,因為您已建立新部分,而交易會由peer0
背書,因為這是您選擇在此通道上背書交易的唯一對等項目。 - 在開發人員工具頁籤中,開啟範例窗格,找出「汽車經銷商」範例,然後按一下呼叫。
- 在「呼叫鏈碼」視窗中,輸入下列值來查詢您剛建立的輪胎,然後按一下執行:
- 語言:
Golang
- 通路:
default
- 動作:
Query vehicle part
- 序號:
tr357
- 語言:
- 在管道頁籤上,尋找並按一下
default
通道。 - 在分類帳窗格中,找出最近交易的區塊編號。
- 按一下區塊並確認「交易」表格中的
Success
是在「狀態」資料欄中。按一下交易 ID 旁的箭頭圖示可顯示交易的詳細資訊。備註:
應列出正確的鏈碼、函數名稱 (readVehiclePart
) 和背書對等 (peer0
)。 - 在開發人員工具頁籤中,開啟範例窗格,找出「汽車經銷商」範例,然後按一下呼叫。
- 在「呼叫鏈碼」視窗中,輸入下列值以將輪胎所有權轉移給新使用者,然後按一下執行:
- 語言:
Golang
- 通路:
default
- 動作:
Transfer vehicle part
- 序號:
tr357
- 擁有者:
anniechu
- 語言:
- 在管道頁籤上,尋找並按一下
default
通道。 - 在分類帳窗格中,找出最近交易的區塊編號。
- 按一下區塊,按一下交易 ID 旁的箭頭圖示來顯示交易的詳細資訊,並確認在「交易」表格中,您會在「狀態」資料欄中看見
Success
。備註:
應列出正確的鏈碼、函數名稱 (transferVehiclePart
) 和背書對等 (peer0
)。



如果鏈碼已不再需要,您可以刪除該鏈碼。如需詳細資訊,請參閱刪除鏈碼。
相關連結
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或是存取更多免費學習內容至 Oracle Learning YouTube 通道。此外,瀏覽 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請瀏覽 Oracle Help Center。