Пісочниця

Використовуйте 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