Skip to content

Repository files navigation

Canton Devnet с поддержкой Docker

Этот проект предоставляет готовую среду для разработки и тестирования приложений Daml на базе Canton, с полной поддержкой Docker.

Структура Проекта

  • canton/: Подмодуль с исходным кодом Canton (используется для сборки).
  • configs/: Конфигурационные файлы для нод Canton (участники, домены, секвенсоры).
  • my-app/: Исходный код вашего Daml приложения.
  • scripts/: Скрипты автоматизации (запуск, деплой, тесты, очистка).
  • docker-compose.yml: Описание Docker-сервисов для оркестрации.

Предварительные требования

  • Docker и Docker Compose
  • (Опционально) Daml SDK и Java для локального запуска без Docker.

Использование с Docker (Рекомендуемо)

Весь процесс разработки автоматизирован через Docker Compose.

1. Запуск сети Canton

Запускает ноду Canton (Participant, Sequencer, Mediator) в фоновом режиме.

docker-compose up -d canton

2. Сборка и Деплой Приложения

Этот шаг собирает DAR-файл из my-app, загружает его в Canton и запускает скрипт инициализации (Initialize.daml).

docker-compose up deploy

Примечание: Сервис deploy автоматически ожидает готовности Canton.

3. Запуск Тестов

Выполняет тестовый сценарий (например, перевод средств) через Daml Script.

docker-compose up test

docker-compose up test

*Примечание: Сервис `test` зависит от успешного выполнения `deploy`.*
*Логи выполнения теста (время, балансы, ID транзакций) сохраняются в файл `logs/test_transfer.log`.*

### 4. Очистка
Для полной остановки контейнеров, удаления сетей и очистки сгенерированных артефактов (логов, сборок):
```bash
./scripts/clean.sh

5. Быстрый Перезапуск (All-in-One)

Для полной переустановки (очистка -> сборка -> деплой -> тест) одной командой:

./restart.sh

Этот скрипт удалит все предыдущие данные и запустит полный цикл проверки.

Разработка и Локальный Запуск

Скрипты в папке scripts/ также поддерживают локальный запуск (вне Docker), если у вас установлены необходимые инструменты.

  • ./scripts/start-devnet.sh: Запуск Canton локально.
  • ./scripts/deploy-app.sh: Сборка и деплой на локальный/удаленный леджер.
  • ./scripts/test-transfer.sh: Запуск тестов.

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

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages