Судя по выводу, похоже, что вы создаете файл идентификаторов шаблона для модели, отличной от той, которая поставляется с учебником.
Сценарий работает с использованием привязок для подключения к работающей бухгалтерской книге изагрузить шаблоны, загруженные в него, с их идентификаторами пакетов.По умолчанию он пытается подключиться к localhost:7600
.
. Объяснение поведения, которое вы наблюдаете, состоит в том, что у вас есть работающая песочница через порт 7600 на вашей собственной машине, на которой установлена модель, загруженная с модулем Car
содержащий шаблон Car
.
Вы можете следовать подходам.
1.Перезапустите учебную изолированную программную среду на порту 7600
- Найдите и остановите изолированную программную среду, работающую на порту 7600
- Перезапустите изолированную программную среду из учебного проекта
- , убедитесь, что перезапущенная бухгалтерская книга работаетна порту 7600
- запустить
npm run fetch-template-ids
как обычно
Чтобы найти работающий регистр, вы можете использовать этот ответ .
Когда вы нашлирегистр занят на порту 7600, я рекомендую перейти в каталог проекта и запустить da stop
, а не убивать его.Каталог проекта должен быть легко идентифицирован как часть пути, в котором находится файл DAR, переданный в качестве аргумента.
Например, если команда включает в качестве аргумента следующий путь
/home/someuser/path/to/your-daml-project/target/PingPongExample.dar
Вы хотите сделать следующее
cd /home/someuser/path/to/your-daml-project
da stop
2.Запустите учебник, используя другой порт
- , проверьте, на каком порту работает песочница учебника
, запустите сценарий с дополнительной опцией
npm run fetch-template-ids -- -p <PORT_NUMBER>
# ^^ notice the double dash here
Если вы не уверены в порте, на котором работает песочница для учебника, вы можете проверить его, остановив и перезапустив с помощью следующей команды из каталога проекта учебника :
da stop && da sandbox
Вывод должен выглядеть следующим образом
stopping... Sandbox ledger server
/path/to/daml/PingPong.daml with no scenario
and binding to port 7676
[Info] Starting:
Sandbox ledger server
/home/ste/Projects/DACH-NY/pooong/daml/PingPong.daml with no scenario
and binding to port 7676
Если этот вывод выглядит следующим образом, вам нужно будет выполнить следующую команду для получения идентификаторов шаблона:
npm run fetch-template-ids -- -p 7676
Кроме того, обратите внимание, что в руководстве предполагается, что вы используете бухгалтерскую книгу, которая работает на порту 7600. Если вы придерживаетесь второго подхода, убедитесь, что вы приняли необходимые меры для подключения к правильной бухгалтерской книге (IПоверьте, единственное необходимое изменение - указать другой порт при вызове DamlLedgerClient.connect
).