安裝、設定及部署解決方案

如果要實行此解決方案,有三個主要區域需要處理,如下節所述。

  1. 區塊鏈基礎架構準備。
  2. 開發和部署智能合約。
  3. 建立將使用我們智能合約的應用程式。


oracle-blockchain-cms-plan-oracle.zip

建立一個 Hyperledger Fabric 網路,此網路一開始是由一個單一組織所組成,但可以視需要輕鬆擴展至多個成員。

然後,我們將繼續建立智能合約,以處理在業務使用案例中保存和管理區塊鏈所需的邏輯。

智慧合約專案建立後,我們將將其安裝並部署到我們之前建立的區塊鏈網路中,然後我們將設定帳戶、註冊,最後我們將執行智慧合約及其 NFT 的初始化。

此時,智慧型合約方法已經透過 Oracle Blockchain 執行處理的 API 閘道 (亦稱為 RESTPROXY) 發布,以便用戶端應用程式可以使用它們,在我們的情況下,我們已經使用 VBCS 建立的 Web 應用程式,我們將在最後一節提供。

最後一步是建立將儲存文件的 OCI 儲存儲存的儲存桶,最後一步是重新設定 VBCS 範例應用程式,以指向我們新建立的區塊鏈網路,以及我們租用戶中設定的新儲存桶。完成所有重新設定後,系統會將應用程式部署到我們的租用戶中。

建立 Oracle Blockchain 網路

為了在 Oracle Blockchain 中建立 Hyperledger Fabric (HLF) 網路,我們正在使用 Oracle Blockchain Cloud Service。

我們將建立單一執行處理 HLF 網路,根據使用案例,我們可以在屬於網路的單一組織內顯示功能。新組織可以結合自己的區塊鏈執行處理加入網路,讓這些組織的新使用者擁有其資料夾,或複查其他成員所擁有之現有資料夾的內容。

建立 Founder 執行處理

  1. 在 OCI 服務功能表中,選取開發人員服務,然後按一下區塊鏈平台
  2. 從 OCI 主控台左側的區間組合選取器,確定已選取您要建立執行處理的區間。
  3. 按一下建立區塊鏈平台
  4. 為您的平台提供顯示名稱 (例如 org1),選擇性地新增描述,並保留其餘的預設選項,因為它們是建立 Founder 執行處理的設定值,這將是新 Hyperledger Fabric Network 的創辦人,並使用標準資源配置 (其功能與企業資源配置完全相同,但成本較低,但適用於開發工作)。按一下建立
    已送出建立此組織 (org1) 的執行處理,將會在幾分鐘內就緒。
建立 Founder 執行處理時,您可以按一下服務主控台,存取此執行處理的 Oracle Blockchain 主控台。

建立管道

我們需要加入通路層級的組織,以允許創始人與參與者之間的溝通。此動作將使用區塊鏈服務主控台執行。

  1. 從創辦人執行處理的區塊鏈服務主控台 (org1),選取通道頁籤,然後按一下建立新通道
  2. 填妥必要欄位。
    • wedocms 設為您的通道名稱,或根據您的偏好設定來設定任何名稱。
    • 選取要加入通道的對等區段的選項 (peer0peer1)。
  3. 按一下確認即現式視窗中的來確認建立。
    檢查頻道表格是否顯示新的頻道 。按一下通道名稱 ( wedocms) 即可檢視通道詳細資訊。您可以查看有關通路的所有詳細資料,例如儲存至分類帳區塊的交易、在通路中部署的鏈碼、設定的訂購者與同儕、屬於通路的組織等等。

建立使用者帳戶

我們將使用 Oracle Identity Cloud Service 為資料夾中的每個部門至少建立一個使用者可以互換。系統會為每位使用者建立一個帳戶,將帳戶保留在他們擁有的不同資料夾中。

我們將建立屬於風險部門的使用者 cmsrsk001 、屬於財務部門的使用者 cmsfin001 ,以及屬於法律部門的使用者 cmsleg001
  1. 從左上角的 OCI 主控台導覽功能表,按一下識別與安全性,然後從「識別」區段選取聯合選項。
  2. 按一下身分識別提供者名稱連結。
  3. 按一下建立使用者 (Create User)
  4. 將您要用於登入主控台的值設為使用者名稱,或設為授權使用者名稱以執行我們智慧型合約的 REST API。在電子郵件欄位中設定您 OCI 帳戶的電子郵件,這樣您將會收到重設此使用者密碼的電子郵件,然後按一下建立
  5. 按一下指派角色
  6. 對於 AUTOBLOCKCHAIN 服務,請按一下右側的省略符號,然後選取管理執行處理存取
  7. 視您建立的使用者而定,根據下表指派授權,在指派正確的角色之後,按一下更新執行處理設定值。您應該會看到適當地指派的角色。

    表格 - 角色指派

    使用者名稱 執行處理 角色
    cmsrsk001 org1 管理員,REST_CLIENT
    cmsfin001 org1 管理員,REST_CLIENT
    cmsleg001 org1 管理員,REST_CLIENT
  8. (選擇性) 系統會要求您傳送電子郵件至使用者的電子郵件地址,通知已授予的角色。
  9. 在使用者建立過程中,您將收到一封電子郵件,內含與最近建立之使用者相關聯的電子郵件帳戶,用以重設此使用者的密碼。使用提供的連結來設定剛建立的使用者密碼。

在 REST 代理主機節點中建立註冊

Oracle Blockchain Platform 支援註冊 REST 代理主機。這些註冊用於 FT 或 NFT 記號存在的鏈碼中,以將呼叫者的識別對應至執行異動的角色。若要這麼做,您必須建立使用者與區塊鏈中定義的角色的關係,而為了簡化,您可以將角色命名為使用者。

每個註冊都必須在允許具有此角色的使用者透過區塊鏈執行處理上的 REST 代理主機執行交易的執行處理中建立。Therefore, enrollment cmsrsk001 assigned to the user cmsrsk001 needs to be created in the REST Proxy node of the founder instance (org1), and the same for the other two users as described in the following table.
使用者名稱 註冊 執行處理
cmsrsk001 cmsrsk001 org1
cmsfin001 cmsfin001 org1
cmsleg001 cmsleg001 org1
  1. 從創辦人執行處理的區塊鏈服務主控台 (org1),瀏覽至節點頁籤。
  2. 按一下 restproxy 以外的漢堡功能表,然後選取檢視或管理註冊
  3. 選取建立新註冊
  4. 註冊 ID 設為 cmsrsk001 ,將使用者 ID 設為 cmsrsk001 ,然後按一下註冊
重複步驟 4 為其他兩個使用者建立註冊:cmsfin001cmsleg001 。如果建立其他組織的使用者,則應在使用者所屬區塊鏈執行處理的 REST 代理主機中建立這些使用者的註冊。

準備 Oracle Blockchain App Builder 開發環境

建立 Hyperledger Fabric (HLF) 智慧合約需要瞭解 HLF 的內在知識、如何在 Java、Typscript 或 GoLang 中編寫程式碼,以及如何部署和管理智慧合約專案的整個生命週期。

Oracle Blockchain App Builder 旨在簡化智慧合約專案的建立,事實上 Oracle Blockchain App Builder 是一個低程式碼工具,能夠從頭建立整個鏈碼專案,但不包括業務案例所需的自訂程式碼。Oracle Blockchain App Builder 也可協助您進行測試階段、封裝專案,以及在本機電腦中部署鏈碼以進行單次測試,或從遠端部署到真正的 Hyperledger Fabric Network。

oracle-app-builder-oracle.zip

Oracle Blockchain App Builder 以兩種方式建立,您可以將其作為命令行工具,以自動化 CI/CD 流程中的建置和部署步驟,或者將其作為 Microsoft Visual Code Plugin。這兩者都可以讓您執行完全相同的功能,您只需根據喜好設定,選擇您偏好的功能即可。Oracle Blockchain App Builder 具有下列功能:

  • 開發:Oracle Blockchain App Builder 會建立整個鏈碼專案,只建立所謂的自訂規格檔案。專案將包括所有編碼的實體、其所有存取者以及管理這些實體的所有 CRUD 方法,以及應用程式所需之任何非標準或複雜業務邏輯的任何自訂方法的簽章,這將成為唯一需要手動實行的程式碼。
  • 部署:鏈碼專案準備好進行測試之後,您就可以將其本機部署到預先設定的 Hyperledger Fabric Network,也可以從遠端部署到任何現有的雲端或內部部署 Oracle Blockchain Platform 執行處理。另一個選項是封裝要透過 Oracle Blockchain 主控台手動部署的專案。
  • 測試:部署專案之後,您可以測試鏈碼專案的任何自動產生方法或自訂方法。
  • 除錯:如果您使用 Visual Studio Code 擴充功能,也能夠執行逐行除錯鏈碼。

您可以安裝下列兩個可用的 Oracle Blockchain App Builder 版本:

如果您不想自行安裝這類開發工具及其所有相依性,但可以存取 Oracle Cloud,可以選擇建立專屬開發方塊,其中已安裝並準備用於雲端的所有產品,然後從遠端存取。這些機器符合成本效益,因為需要運算資源配置,而且只有在啟動和執行時才會計費。

Oracle LiveLabs 有一個實驗環境,您可以在幾分鐘內根據 Oracle Blockchain 開發團隊已預先設定的 VM 映像檔部署遠端機器。如需詳細資訊,請參閱使用 Apex 和 Blockchain App Builder 開發低程式碼區塊鏈應用程式

附註:

在實驗室中,若要讓雲端機器就緒,並安裝 Visual Code Studio 和 Oracle Blockchain App Builder 低程式碼外掛程式,您只需執行「準備設定和環境設定」步驟即可。

建立並設定 OCI 物件儲存儲存桶

我們將會設定 OCI 物件儲存儲存桶,讓您能夠從 Oracle Visual Builder Web 應用程式儲存及擷取文件。

Web 應用程式會執行動作,並與建立文件的雜湊同步,該文件會在上傳文件至儲存桶時儲存在區塊鏈中,並在下載文件時驗證雜湊的有效性。

附註:

如需有關如何編寫 Oracle Visual Builder 應用程式程式碼以從 OCI Object Storage 上傳或下載檔案的詳細資訊,請參閱:從 Visual Builder 應用程式中的 OCI 儲存上傳 / 下載檔案

若要透過 OCI 物件儲存儲存桶提供的 REST API 啟用儲存桶的使用,我們必須建立與允許執行 REST API 之使用者相關的 OCI API 金鑰。請執行下列兩個組態工作,以在我們的 VBCS Web 應用程式中使用 OCI Object Storage 儲存桶。

若要從您的 Oracle Visual Builder App 使用 OCI 物件儲存儲存桶,您必須建立 OCI API 金鑰,才能透過 REST API 存取 OCI 服務。

  1. 登入 OCI 主控台,然後按一下主控台右上方的「設定檔」圖示,即可存取使用者設定值。
  2. 向下捲動並按一下資源功能表中的 API 金鑰
  3. 按一下新增 API 金鑰以新增 API 金鑰。
  4. 選取產生 API 金鑰組

    附註:

    您可以使用 pem 格式的公用金鑰和私密金鑰,但在本解決方案手冊中,我們將使用自動產生的金鑰。
  5. 下載私密金鑰和公開金鑰,並將一個 .pem 檔案標示為公開。
  6. 按一下「新增」
  7. 按一下複製連結,將您的 OCI API 證明資料複製到本機電腦中的文字檔,因為您需要這些文字檔來執行後續步驟。
  8. 按一下「關閉」
    您應該建立一個新的 API 金鑰,而且應該會在 OCI Web 主控台中看到指紋金鑰。您可以按一下「指紋」資料列中的省略符號並選取檢視組態檔,存取您在桌面之前複製的組態檔。

    附註:

    請儲存詳細資訊,因為接下來的步驟中將會一起使用私密金鑰。
  9. 建立儲存桶,以便儲存物件。瀏覽至儲存體 (Storage) ,然後按一下儲存設定 (Buckets)
    為了簡化,您可以將它建立為「公用」,這樣就不需要認證,但也可以使用「專用可見性」儲存桶達到相同的目的。
  10. 選取要在其中建立儲存桶的區間,然後按一下建立儲存桶
  11. 建立儲存桶畫面中,指定儲存桶的名稱,將其他組態參數保留為預設值,然後按一下建立以完成建立儲存桶。
    新儲存桶將顯示在選取的區間中。選取儲存桶名稱以檢視詳細資訊。按一下左側功能表中的物件,即可查看上傳至此儲存桶的物件。