Песочница

Используйте Docker и Flextesa Для Запуска Индивидуальной Песочницы Tezos

Запуск эфемерных и изолированных песочниц может быть полезен для экспериментов с более быстрыми сетями или для автоматизации воспроизводимых тестов.

В данном случае мы используем Flextesa для запуска одного или нескольких узлов Tezos, бэйкеров( eng. Bakers) и индоссаторов, содержащихся в среде песочницы. По умолчанию песочница настроена на совместимость с tezos-client установленным в разделе “Tezos Клиент”.

Зависимости

Данный пример требует наличия Docker, доступного для Linux, Mac или Windows. На официальном сайте https://www.docker.com.

Запуск и Использование Песочницы

Запустите песочницу в фоновом режиме ( запускается со включенной функцией baking):

docker run --rm --name my-sandbox --detach -p 20000:20000 \
       registry.gitlab.com/tezos/flextesa:image-tutobox-run carthagebox start

После нескольких секунд операция должна быть успешно завершена:

tezos-client config reset        # Cleans-up left-over configuration.
tezos-client -A localhost -P 20000 bootstrapped

Настройте клиент для коммуникации с песочницей:

tezos-client -A localhost -P 20000 config update

Затем, вместо использования публичной вилки (eng.faucet), пользователь может использовать ꜩ, импортируя уже существующие аккаунты в песочницу. Они станут видимы с помощью следующей команды:

 $ docker run --rm registry.gitlab.com/tezos/flextesa:image-tutobox-run carthagebox info

Usable accounts:

- alice
  * edpkvGfYw3LyB1UcCahKQk4rF2tvbMUk8GFiTuMjL75uGXrpvKXhjn
  * tz1VSUr8wwNhLAzempoch5d6hLRiTh8Cjcjb
  * unencrypted:edsk3QoqBuvdamxouPhin7swCvkQNgq4jP5KZPbwWNnwdZpSpJiEbq
- bob
  * edpkurPsQ8eUApnLUJ9ZPDvu98E8VNj4KtJa1aZr16Cr5ow5VHKnz4
  * tz1aSkwEot3L2kmUvcoxzjMomb9mvBNuzFK6
  * unencrypted:edsk3RFfvaFaxbHx8BMtEW1rKQcPtDML3LXjNqMNLCzC3wLC1bWbAt

Root path (logs, chain data, etc.): /tmp/mini-box (inside container).

Теперь вы сможете их импортировать:

tezos-client import secret key alice unencrypted:edsk3QoqBuvdamxouPhin7swCvkQNgq4jP5KZPbwWNnwdZpSpJiEbq --force
tezos-client import secret key bob unencrypted:edsk3RFfvaFaxbHx8BMtEW1rKQcPtDML3LXjNqMNLCzC3wLC1bWbAt --force

Проверить их балансы:

tezos-client get balance for alice

Использование Песочницы

Мы рекомендуем ознакомится с секцией “Tezos Клиент” а также Гайдом по использованию кошельков.

Например, можно составить самый простой контракт:

# Download the contract:
wget https://gitlab.com/tezos/tezos/raw/mainnet/src/bin_client/test/contracts/attic/id.tz
# Run origination:
tezos-client originate contract hello-id transferring 0 from bob running id.tz --init "\"hello world\"" --burn-cap 1 --force

Отключение Песочницы:

Как только вы закончили использование песочницы, просто удалите контейнер:

docker kill my-sandbox

Расширенное Использование

Пользователь может посмотреть конфигурацию запущенного протокола в песочницы с помощью следующей команды:

tezos-client rpc get /chains/main/blocks/head/context/constants

Одно важное поле - это "time_between_blocks": [ "5" ],что означает, что блоки "запекаются" каждые 5 секунд (в отличие от 60 секунд в Mainnet).

Обратите внимание, как данная константа может быть настроена с помощью параметра среды block_time:

docker run --rm --name my-sandbox -e block_time=10 --detach -p 20000:20000 \
       registry.gitlab.com/tezos/flextesa:image-tutobox-run carthagebox start

Команда показанная выше позволяет запускать полноценную песочницу с запущенным протоколом Carthage и более малым промежутком времени между блоками в размере 10 секунд.

Множество других параметров настроено с помощью скрипта carthagebox. Все доступные настройки по конфигурации можно увидеть в этой команде:

docker run --rm -it registry.gitlab.com/tezos/flextesa:image-tutobox-run flextesarl mini-net --help

Для получения дополнительных сведений или решения вопросов см. Репозиторий Flextesa.

Материалы разработаны TQ Tezos переведены на русский язык Tezos Ukraine

Last updated