Mulai cepat: Menyebarkan aplikasi JavaScript ke sumber daya Azure Managed CCF
Dalam tutorial mulai cepat ini, Anda akan mempelajari cara menyebarkan aplikasi ke sumber daya Azure Managed CCF (Managed CCF). Tutorial ini dibangun pada sumber daya CCF Terkelola yang dibuat di Mulai Cepat: Membuat sumber daya Azure Managed CCF menggunakan tutorial portal Azure.
Prasyarat
- Python 3+.
- Instal versi terbaru paket CCF Python.
- OpenSSL di komputer yang menjalankan Windows atau Linux.
Mengunduh identitas layanan
Sumber daya Azure Managed CCF memiliki identitas unik yang disebut identitas layanan. Ini diwakili oleh sertifikat dan dibuat selama pembuatan sumber daya. Setiap simpul individu yang merupakan bagian dari sumber daya Azure Managed CCF memiliki sertifikat yang ditandatangani sendiri, yang didukung oleh identitas layanan, yang membangun kepercayaan padanya.
Pelanggan disarankan untuk mengunduh sertifikat identitas layanan dan menggunakannya untuk membuat koneksi TLS saat berinteraksi dengan layanan. Perintah berikut mengunduh sertifikat dan menyimpannya ke service_cert.pem.
curl https://identity.confidential-ledger.core.azure.com/ledgerIdentity/confidentialbillingapp --silent | jq ' .ledgerTlsCertificate' | xargs echo -e > service_cert.pem
Menyebarkan aplikasi
Catatan
Saat menjalankan perintah di Mac, ganti date -Is
dengan date +%FT%T%z
.
Catatan
Tutorial ini mengasumsikan bahwa bundel aplikasi JavaScript dibuat menggunakan instruksi yang tersedia di sini.
- Kirimkan bundel aplikasi yang ada di set_js_app.json dengan membuat proposal.
$ 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') )
- Langkah selanjutnya adalah menerima proposal dengan mengirimkan suara.
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
- Ulangi langkah di atas untuk setiap anggota di sumber daya CCF Terkelola.
Ketika perintah selesai, aplikasi disebarkan ke sumber daya CCF Terkelola dan siap untuk menerima transaksi.