Этот проект предоставляет готовую среду для разработки и тестирования приложений Daml на базе Canton, с полной поддержкой Docker.
canton/: Подмодуль с исходным кодом Canton (используется для сборки).configs/: Конфигурационные файлы для нод Canton (участники, домены, секвенсоры).my-app/: Исходный код вашего Daml приложения.scripts/: Скрипты автоматизации (запуск, деплой, тесты, очистка).docker-compose.yml: Описание Docker-сервисов для оркестрации.
- Docker и Docker Compose
- (Опционально) Daml SDK и Java для локального запуска без Docker.
Весь процесс разработки автоматизирован через Docker Compose.
Запускает ноду Canton (Participant, Sequencer, Mediator) в фоновом режиме.
docker-compose up -d cantonЭтот шаг собирает DAR-файл из my-app, загружает его в Canton и запускает скрипт инициализации (Initialize.daml).
docker-compose up deployПримечание: Сервис deploy автоматически ожидает готовности Canton.
Выполняет тестовый сценарий (например, перевод средств) через Daml Script.
docker-compose up testdocker-compose up test
*Примечание: Сервис `test` зависит от успешного выполнения `deploy`.*
*Логи выполнения теста (время, балансы, ID транзакций) сохраняются в файл `logs/test_transfer.log`.*
### 4. Очистка
Для полной остановки контейнеров, удаления сетей и очистки сгенерированных артефактов (логов, сборок):
```bash
./scripts/clean.sh
Для полной переустановки (очистка -> сборка -> деплой -> тест) одной командой:
./restart.shЭтот скрипт удалит все предыдущие данные и запустит полный цикл проверки.
Скрипты в папке scripts/ также поддерживают локальный запуск (вне Docker), если у вас установлены необходимые инструменты.
./scripts/start-devnet.sh: Запуск Canton локально../scripts/deploy-app.sh: Сборка и деплой на локальный/удаленный леджер../scripts/test-transfer.sh: Запуск тестов.
Скрипты автоматически определяют корневую директорию проекта, поэтому их можно запускать из любого места.