Заводим и выводим XTZ из сайдчейна Deku

Недавно мы рассказывали о работе Deku — сайдчейн-решения для Tezos от команды Marigold. Сегодня разберемся, как им пользоваться.
Marigold опубликовала короткую инструкцию, как внести и вывести средства из Deku с помощью TzPortal. Проследуем ей и объясним некоторые моменты.
Коротко о Deku
Deku — сайдчейн Tezos. У него есть свои узлы, свои блоки и алгоритм консенсуса, но для обеспечения безопасности он опирается на Tezos.
Главная фича сайдчейнов в том, что они могут отличаться от основного блокчейна. Например, Deku использует виртуальную машину WASM, а его пропускная способность достигает 50 000 транзакций в секунду.
В общем: Алиса заводит средства из Tezos в Deku, отправляет почти моментальные транзакции и пользуется приложениями, а когда нужно — выводит средства назад в Tezos. Для этого и нужны сайдчейны.
Как перенести XTZ в Deku
У Deku есть особенность: токены в нем существуют в виде тикетов — токенов, которые хранятся в вашем кошельке, а не в смарт-контракте эмитента. Пока что вы не сможете управлять средствами на Deku с помощью обычных кошельков, придется пользоваться терминалом или TzPortal.
Перед началом работы с Deku нужно подготовиться:
- создать аккаунт в тестнете Jakartanet и получить на него тестовые XTZ. В Temple Wallet для этого нужно нажать на кнопку выбора сети, выбрать Jakartanet, а затем запросить токены у Telegram-бота Tezos Faucet Bot;
- установить пакетный менеджер Nix для работы клиента Deku. Хотя Nix работает на Windows, Linux и macOS, для работы Deku подойдет только компьютер с Linux или macOS с архитектурой процессора x86 или ARM (M1, M2);
- клонировать репозиторий Deku с GitHub;
- установить Dune для сборки проектов на OCaml.
Теперь можно начинать. Сначала — сгенерировать ключи для адреса на Deku. Для этого нужно открыть терминал, перейти в папку с репозиторием Deku и выполнить команды:
echo ‘experimental-features = nix-command flakes’ >> /etc/nix/nix.conf
nix develop -c $SHELL
nix run .#deku-cli create-wallet
При первом запуске Nix будет несколько минут компилировать исходный код. Результат выполнения операции — файл кошелька Deku в формате tz1…tzsidewallet.

Теперь нужно перейти на сайт TzPortal — графический интерфейс для работы с Deku. Там подключить аккаунт с Jakartanet и загрузить файл кошелька Deku, чтобы появилось окно депозита.

При депозите вы отправите токены на смарт-контракт Deku с указанием адреса, на который их нужно зачислить. Контракт заблокирует средства и выпустит соответствующие им тикеты на адрес в Deku.

Сейчас тикеты можно отправить другому адресу Deku по кнопке L2 Transfer или вывести назад на L1 — на свой адрес в Jakartanet.

Чтобы вывести тикеты, нужно сначала отправить транзакцию с выводом контракту Deku на L2, а затем предоставить доказательство транзакции контракту на L1.
Для этого нажать кнопку Withdraw на верхней панели, указать количество тикетов для вывода, нажать оранжевую кнопку Withdraw. Внизу появится сообщение с хешем доказательства — этот хеш надо скопировать.

Дальше нужно на верхней панели нажать кнопку L1 Claim, вставить доказательство и нажать оранжевую кнопку Claim. Через некоторое время контракт вернет тестовые XTZ на ваш кошелек в Jakartanet.

Как может выглядеть работа с Deku в будущем
С точки зрения пользователя, нужно решить проблему UX. Скорее всего, при росте популярности Deku и сайдчейнов на его базе популярные кошельки Tezos реализуют функцию для подключения дополнительных чейнов по примеру Metamask. Дальше работа с Deku не будет отличаться от переноса активов с помощью кроссчейн-мостов.
Также популяризация L2 может привести к популяризации тикетов на L1. Опять же, нужно будет улучшить пользовательский опыт и добавить интерфейс и функции для работы с тикетами в привычные нам кошельки.
Подписывайтесь на социальные сети Tezos Ukraine, чтобы ничего не пропустить:
- Telegram-канал
- Facebook.
- Twitter на русском и украинском языках
- Twitter на английском языке
- YouTube-канал
- hub на ForkLog


