在本快速入門教學課程中,您將瞭解如何將應用程式部署至 Azure 受控 CCF (受控 CCF) 資源。 本教學課程以 快速入門:使用 Azure 入口網站建立 Azure 受控 CCF 資源 教學課程中建立的受控 CCF 資源為基礎。
先決條件
- Python 3+。
- CCF Python 套件的最新版本。
- 在執行 Windows 或 Linux 的電腦上開啟 OpenSSL。
下載服務身分識別
Azure 受控 CCF 資源具有稱為服務身分識別的唯一身分識別,由憑證表示,並在資源建立期間建立。 屬於 Azure 受控 CCF 資源的每個個別節點都有其自我簽署憑證,由服務身分識別背書,以建立信任。
建議客戶下載服務身分憑證,並在與服務互動時使用它來建立 TLS 連線。 下列命令會下載憑證,並將其儲存至 service_cert.pem 中。
curl https://identity.confidential-ledger.core.azure.com/ledgerIdentity/confidentialbillingapp --silent | jq ' .ledgerTlsCertificate' | xargs echo -e > service_cert.pem
部署應用程式
備註
在 Mac 上執行命令時,請將 替換 date -Is 為 date +%FT%T%z。
備註
本教學課程假設JavaScript應用程式套件組合是使用 此處提供的指示建立的。
- 透過建立提案來提交 set_js_app.json 中存在的應用程式套件。
$ proposalid=$( (ccf_cose_sign1 --content set_js_app.json --signing-cert member0_cert.pem --signing-key member0_privk.pem --ccf-gov-msg-type proposal --ccf-gov-msg-created_at `date -Is` | curl https://confidentialbillingapp.confidential-ledger.azure.com/gov/proposals -H 'Content-Type: application/cose' --data-binary @- --cacert service_cert.pem | jq -r '.proposal_id') )
- 下一步是通過提交投票來接受該提案。
cat vote_accept.json
{
"ballot": "export function vote (rawProposal, proposerId)\n
{\n
// Accepts any proposal\n
return true;\n
}"
}
ccf_cose_sign1 --content vote_accept.json --signing-cert member0_cert.pem --signing-key member0_privk.pem --ccf-gov-msg-type ballot --ccf-gov-msg-created_at `date -Is` --ccf-gov-msg-proposal_id $proposalid | curl https://confidentialbillingapp.confidential-ledger.azure.com/gov/proposals/$proposalid/ballots -H 'Content-Type: application/cose' --data-binary @- --cacert service_cert.pem
- 針對受管理 CCF 資源中的每個成員重複上述步驟。
當指令完成時,應用程式會部署至受管理 CCF 資源,並準備好接受交易。