Поделиться через


Краткое руководство. Обновление приложения JavaScript

С помощью Azure Managed CCF (Managed CCF) просто и быстро обновить приложение при появлении новых функциональных возможностей или при наличии исправлений ошибок. В этом руководстве описывается ресурс Управляемого CCF, созданный в кратком руководстве. Создание ресурса Azure Managed CCF с помощью руководства по портал Azure.

Необходимые компоненты

  • Python 3+.
  • Установите последнюю версию пакета Python для CCF.

Скачивание удостоверения службы

Ресурс Azure Managed CCF имеет уникальное удостоверение, называемое удостоверением службы. Он представлен сертификатом и создается во время создания ресурса. Каждый отдельный узел, являющийся частью ресурса Azure Managed CCF, имеет свой самозаверяющий сертификат, утвержденный удостоверением службы, который устанавливает доверие к нему.

Клиентам рекомендуется скачать сертификат удостоверения службы и использовать его для установления подключения TLS при взаимодействии со службой. Следующая команда скачивает сертификат и сохраняет его в service_cert.pem.

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

Обновление приложения

Примечание.

При выполнении команд в Mac замените date -Is на date +%FT%T%z.

Примечание.

В этом руководстве предполагается, что обновленный пакет приложений создается с помощью инструкций, доступных здесь , и сохраняется в set_js_app.json.

Обновление приложения не сбрасывает параметры среды выполнения JavaScript.

  1. Отправьте пакет приложений в set_js_app.json , создав предложение.
$ 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. Следующий шаг — принять предложение, отправив голосование.
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. Повторите приведенный выше шаг для каждого члена ресурса Managed CCF.

По завершении команды приложение будет обновлено и готово к принятию транзакций пользователей.

Следующие шаги