你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
快速入门:将 JavaScript 应用程序部署到 Azure 托管 CCF 资源
在本快速入门教程中,你将了解如何将应用程序部署到 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 资源,并准备好接受事务。