Установка и использование платформы

Общая настройка платформы: настройка исполнения смарт-контрактов

Если вы планируете разработку и исполнение смарт-контрактов в вашем блокчейне, настройте параметры их исполнения в секции docker-engine конфигурационного файла ноды:

docker-engine {
  enable = yes
  integration-tests-mode-enable = no
  # docker-host = "unix:///var/run/docker.sock"
  execution-limits {
    startup-timeout = 10s
    timeout = 10s
    memory = 512
    memory-swap = 0
    }
  reuse-containers = yes
  remove-container-after = 10m
  allow-net-access = yes
  remote-registries = [
    {
     domain = "myregistry.com:5000"
     username = "user"
     password = "password"
   }
  ]
  check-registry-auth-on-startup = no
  # default-registry-domain = "registry.wavesenterprise.com"
  contract-execution-messages-cache {
    expire-after = 60m
    max-buffer-size = 10
    max-buffer-time = 100ms
  }
  contract-auth-expires-in = 1m
  grpc-server {
    # host = "192.168.97.3"
    port = 6865
    }
  }
  remove-container-on-fail = yes
}
  • enable – включение обработки транзакций для Docker-контрактов.

  • integration-tests-mode-enable – режим тестирования Docker-контрактов. При включении этой опции смарт-контракты исполняются локально в контейнере.

  • docker-host – адрес демона docker (опционально). Если это поле закомментировано, адрес демона для исполнения смарт-контрактов будет взят из системного окружения.

  • startup-timeout – время, отводимое на создание контейнера контракта и его регистрацию в ноде (в секундах).

  • timeout – время, отводимое на выполнение контракта (в секундах).

  • memory – ограничение по памяти для контейнера контракта (в мегабайтах).

  • memory-swap – выделяемый объем виртуальной памяти для контейнера контракта (в мегабайтах).

  • reuse-containers – использование одного контейнера для нескольких контрактов, использующих один и тот же Docker-образ. Включение опции - yes, отключение - no.

  • remove-container-after – промежуток времени бездействия контейнера, по прошествии которого он будет удален.

  • allow-net-access – разрешение доступа к сети.

  • remote-registries – адреса Docker-репозиториев и настройки авторизации к ним.

  • check-registry-auth-on-startup – проверка авторизации для Docker-репозиториев при запуске ноды. Включение опции - yes, отключение - no.

  • default-registry-domain – адрес Docker-репозитория по умолчанию (опционально). Этот параметр используется, если в имени образа контракта не указан репозиторий.

  • contract-execution-messages-cache – настройки кэша со статусами исполнения транзакций по docker контрактам;

  • expire-after – время хранения статуса смарт-контракта.

  • max-buffer-size и max-buffer-time – настройки объема и времени хранения кэша статусов.

  • contract-auth-expires-in – время жизни токена авторизации, используемого смарт-контрактами для вызовов к ноде.

  • grpc-server – секция настроек gRPC сервера для работы Docker-контрактов с gRPC API.

  • host – сетевой адрес ноды (опционально).

  • port – порт gRPC-сервера. Укажите порт прослушивания gRPC-запросов, использующийся платформой.

  • remove-container-on-fail – удаление контейнера, если при его старте произошла ошибка. Включение опции - yes, отключение - no.