Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
A volte è necessario aggiornare le opzioni di runtime dell'interprete JavaScript CCF per estendere la durata dell'esecuzione della richiesta o aggiornare le dimensioni dell'heap o dell'allocazione dello stack. In questa guida si apprenderà come aggiornare le impostazioni di runtime. Questa esercitazione si basa sulla risorsa CCF gestita di Azure creata nell'esercitazione Avvio rapido: Creare una risorsa CCF gestita di Azure usando il portale di Azure .
Prerequisiti
- Python 3+.
- Versione più recente del pacchetto Python CCF.
Scaricare l'identità del servizio
Una risorsa CCF gestita di Azure ha un'identità univoca denominata identità del servizio, rappresentata da un certificato e creata durante la creazione della risorsa. Ogni singolo nodo che fa parte della risorsa CCF gestita di Azure ha il certificato autofirmato, approvato dall'identità del servizio, che stabilisce l'attendibilità su di esso.
I clienti sono consigliati per scaricare il certificato di identità del servizio e usarlo per stabilire una connessione TLS durante l'interazione con il servizio. Il comando seguente scarica il certificato e lo salva in service_cert.pem.
curl https://identity.confidential-ledger.core.azure.com/ledgerIdentity/confidentialbillingapp --silent | jq ' .ledgerTlsCertificate' | xargs echo -e > service_cert.pem
Aggiornare le opzioni di runtime
Annotazioni
Quando si eseguono i comandi in un Mac, sostituire date -Is con date +%FT%T%z.
- Preparare un fileset_js_runtime_options.json e inviarlo usando questo 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’) ) - Il passaggio successivo consiste nell'accettare la proposta inviando un voto.
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 - Ripetere il passaggio precedente per ogni membro nella risorsa CCF gestita.
- Dopo aver accettato la proposta, le opzioni di runtime verranno applicate alle richieste successive.