Partilhar via


Guia de início rápido: implantar um aplicativo JavaScript em um recurso do Azure Managed CCF

Neste tutorial de início rápido, você aprenderá como implantar um aplicativo em um recurso do Azure Managed CCF (Managed CCF). Este tutorial baseia-se no recurso CCF Gerido criado no Início Rápido: Criar um recurso CCF gerido do Azure usando o portal do Azure.

Pré-requisitos

  • OpenSSL num computador com Windows ou Linux.

Descarregar a identidade do serviço

Um recurso CCF gerenciado do Azure tem uma identidade exclusiva chamada identidade de serviço, representada por um certificado e criada durante a criação do recurso. Cada nó individual que faz parte do recurso CCF Gerenciado do Azure tem seu certificado autoassinado, endossado pela identidade do serviço, que estabelece confiança nele.

Recomenda-se que os clientes baixem o certificado de identidade do serviço e o usem para estabelecer uma conexão TLS ao interagir com o serviço. O comando a seguir baixa o certificado e o salva em service_cert.pem.

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

Implantar o aplicativo

Observação

Ao executar os comandos em um Mac, substitua date -Is por date +%FT%T%z.

Observação

Este tutorial pressupõe que o pacote de aplicativos JavaScript seja criado usando as instruções disponíveis aqui.

  1. Envie o pacote de aplicativos presente em set_js_app.json criando uma proposta.
$ 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. O próximo passo é aceitar a proposta submetendo uma votação.
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 a etapa acima para cada membro no recurso CCF gerenciado.

Quando o comando é concluído, o aplicativo é implantado no recurso CCF gerenciado e está pronto para aceitar transações.

Próximos passos