Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure Managed CCF (Managed CCF) umożliwia prostą i szybką aktualizację aplikacji po wprowadzeniu nowych funkcji lub dostępności poprawek błędów. Ten samouczek opiera się na zasobie zarządzanym CCF utworzonym w przewodniku Szybki start: tworzenie zasobu zarządzanego przez platformę Azure CCF przy użyciu samouczka witryny Azure Portal .
Wymagania wstępne
- Python 3+.
- Najnowsza wersja pakietu języka Python CCF.
Pobieranie tożsamości usługi
Zasób zarządzany przez usługę Azure CCF ma unikatową tożsamość o nazwie tożsamość usługi reprezentowaną przez certyfikat i utworzoną podczas tworzenia zasobu. Każdy węzeł będący częścią zasobu azure Managed CCF ma certyfikat z podpisem własnym zatwierdzony przez tożsamość usługi, który ustanawia zaufanie do niego.
Klienci zaleca się pobranie certyfikatu tożsamości usługi i użycie go do nawiązania połączenia TLS podczas interakcji z usługą. Następujące polecenie pobiera certyfikat i zapisuje go w pliku service_cert.pem.
curl https://identity.confidential-ledger.core.azure.com/ledgerIdentity/confidentialbillingapp --silent | jq ' .ledgerTlsCertificate' | xargs echo -e > service_cert.pem
Aktualizowanie aplikacji
Uwaga / Notatka
Podczas wykonywania poleceń na komputerze Mac zastąp ciąg date -Is .date +%FT%T%z
Uwaga / Notatka
W tym samouczku założono, że zaktualizowany pakiet aplikacji jest tworzony przy użyciu instrukcji dostępnych tutaj i zapisanych w set_js_app.json.
Aktualizowanie aplikacji nie powoduje zresetowania opcji środowiska uruchomieniowego języka JavaScript.
- Prześlij pakiet aplikacji znajdujący się w set_js_app.json , tworząc propozycję.
$ 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') )
- Następnym krokiem jest zaakceptowanie wniosku przez przesłanie głosowania.
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
- Powtórz powyższy krok dla każdego elementu członkowskiego w zasobie zarządzanego programu CCF.
Po zakończeniu wykonywania polecenia aplikacja zostanie zaktualizowana i będzie gotowa do akceptowania transakcji użytkownika.