Compartir a través de


Inicio rápido: Implementación de una aplicación JavaScript en un recurso CCF administrado de Azure

En este tutorial de inicio rápido, aprenderá a implementar una aplicación en un recurso de CCF administrado de Azure (CCF administrado). Este tutorial se basa en el recurso CCF administrado creado en el inicio rápido: Creación de un recurso CCF administrado de Azure mediante el tutorial de Azure Portal.

Requisitos previos

  • OpenSSL en un equipo que ejecuta Windows o Linux.

Descarga de la identidad del servicio

Un recurso CCF administrado de Azure tiene una identidad única denominada identidad de servicio. Se representa mediante un certificado y se crea durante la creación del recurso. Cada nodo individual que forma parte del recurso CCF administrado de Azure tiene su certificado autofirmado, aprobado por la identidad de servicio, que establece la confianza en él.

Se recomienda a los clientes descargar el certificado de identidad de servicio y usarlo para establecer una conexión TLS al interactuar con el servicio. El siguiente comando descarga el certificado y lo guarda en service_cert.pem.

curl https://identity.confidential-ledger.core.azure.com/ledgerIdentity/confidentialbillingapp --silent | jq ' .ledgerTlsCertificate' | xargs echo -e > service_cert.pem

Implementación de la aplicación

Nota:

Al ejecutar los comandos en un equipo Mac, reemplace date -Is por date +%FT%T%z.

Nota:

En este tutorial se supone que el conjunto de aplicaciones de JavaScript se crea mediante las instrucciones disponibles aquí.

  1. Envíe el paquete de aplicaciones presente en set_js_app.json mediante la creación de una propuesta.
$ 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. El siguiente paso es aceptar la propuesta mediante el envío de un voto.
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. Repita el paso anterior para cada miembro del recurso CCF administrado.

Cuando se completa el comando, la aplicación se implementa en el recurso CCF administrado y está lista para aceptar transacciones.

Pasos siguientes