Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Às vezes, é necessário atualizar as opções de runtime do interpretador de JavaScript do CCF para estender a duração da execução da solicitação ou atualizar o tamanho da alocação de heap ou pilha. Neste guia, você aprenderá a atualizar as configurações de runtime. Este tutorial baseia-se no recurso CCF Gerenciado do Azure (CCF Gerenciado) criado no Início Rápido: Criar um recurso ccf gerenciado do Azure usando o tutorial do portal do Azure .
Pré-requisitos
- Python 3+.
- A versão mais recente do pacote do CCF Python.
Baixar 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 de serviço, que estabelece a confiança nele.
Os clientes são recomendados para baixar o certificado de identidade de serviço e usá-lo 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
Atualizar as opções de runtime
Observação
Ao executar os comandos em um Mac, substitua date -Is por date +%FT%T%z.
- Prepare um arquivo set_js_runtime_options.json e envie-o usando este comando:
$ cat set_js_runtime_options.json { "actions": [ { "name": "set_js_runtime_options", "args": { "max_heap_bytes": 1024, "max_stack_bytes": 1024, "max_execution_time_ms": 5000, // increase the request execution time "log_exception_details": false, "return_exception_details": false } } ] } $ proposal_id=$( (ccf_cose_sign1 --content set_js_runtime_options.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’) ) - A próxima etapa é aceitar a proposta enviando uma votação.
cat vote_accept.json { "ballot": "export function vote (proposal, proposerId) { return true }" } 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 $proposal_id | curl https://confidentialbillingapp.confidential-ledger.azure.com/gov/proposals/$proposal_id/ballots -H 'Content-Type: application/cose' --data-binary @- --cacert service_cert.pem - Repita a etapa acima para cada membro no recurso CCF gerenciado.
- Depois que a proposta for aceita, as opções de runtime serão aplicadas às solicitações subsequentes.