共用方式為


快速入門:更新 JavaScript 應用程式

使用 Azure 受控 CCF (受控 CCF),在引進新功能或錯誤修正可用時,更新應用程式既簡單又快速。 本教學課程以 快速入門:使用 Azure 入口網站建立 Azure 受控 CCF 資源 教學課程中建立的受控 CCF 資源為基礎。

先決條件

下載服務身分識別

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 -Isdate +%FT%T%z

備註

本教學課程假設更新的應用程式套件組合是使用 此處 提供的指示建立,並儲存至 set_js_app.json。

更新應用程式不會重設 JavaScript 執行時期選項。

  1. 透過建立提案來提交 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') )
  1. 下一步是通過提交投票來接受該提案。
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
  1. 針對受管理 CCF 資源中的每個成員重複上述步驟。

當命令完成時,應用程式將被更新並準備好接受使用者交易。

後續步驟