Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce tutoriel de démarrage rapide, vous allez apprendre à déployer une application sur une ressource Azure Managed CCF (Managed CCF). Ce tutoriel s’appuie sur la ressource CCF managée créée dans le guide de démarrage rapide : Créer une ressource Azure Managed CCF à l’aide du didacticiel du portail Azure .
Prerequisites
- Python 3+.
- Dernière version du package Python CCF.
- OpenSSL sur un ordinateur exécutant Windows ou Linux.
Télécharger l’identité du service
Une ressource CCF managée Azure a une identité unique appelée identité de service, représentée par un certificat et créée lors de la création de la ressource. Chaque nœud individuel qui fait partie de la ressource Azure Managed CCF a son certificat auto-signé, approuvé par l’identité de service, qui établit l’approbation sur celui-ci.
Les clients sont recommandés de télécharger le certificat d’identité de service et de l’utiliser pour établir une connexion TLS lors de l’interaction avec le service. La commande suivante télécharge le certificat et l’enregistre dans service_cert.pem.
curl https://identity.confidential-ledger.core.azure.com/ledgerIdentity/confidentialbillingapp --silent | jq ' .ledgerTlsCertificate' | xargs echo -e > service_cert.pem
Déployer l’application
Note
Lors de l’exécution des commandes sur un Mac, remplacez date -Is par date +%FT%T%z.
Note
Ce tutoriel suppose que le bundle d’applications JavaScript est créé à l’aide des instructions disponibles ici.
- Envoyez le bundle d’applications présent dans set_js_app.json en créant une proposition.
$ 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') )
- L’étape suivante consiste à accepter la proposition en soumettant un vote.
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
- Répétez l’étape ci-dessus pour chaque membre de la ressource CCF gérée.
Une fois la commande terminée, l’application est déployée sur la ressource CCF managée et est prête à accepter les transactions.