Руководство по миграции: с zcashd на Zebrad/Zallet
Традиционный полный узел zcashd, поддерживаемый Electric Coin Company (ECC) / Zodl, был заменён Zebra и Zallet. Поддержка zcashd была прекращена 18 июля 2026 года, и он больше не работает.
- Zebra — современная реализация протокола Zcash на Rust, разработанная Zcash Foundation
- Zallet — лёгкий кошелёк, созданный для бесшовной работы с узлами Zebra и разработанный Zodl
Это руководство проведёт вас через миграцию с zcashd на Zebrad и Zallet, включая настройку, импорт кошелька и устранение распространённых проблем миграции.
zcashd прекратил работу 18 июля 2026 года
Что это означает
- Поддержка zcashd была прекращена 18 июля 2026 года. Он больше не будет синхронизироваться с вершиной цепочки и не может отправлять или получать средства. Это уже произошло, а не запланировано.
- Две задачи zcashd теперь разделены: zebrad является полным узлом, а Zallet — кошельком.
- Zallet находится в стадии бета-версии. Между выпусками могут происходить критические изменения, а некоторые методы JSON-RPC zcashd ещё не реализованы. Перед тем как полагаться на конкретный вызов, проверьте матрицу статуса методов.
- Если у вас всё ещё есть средства Sprout, сначала прочитайте предупреждение в шаге 6. Zallet не поддерживает пул Sprout, а стандартный способ перевода этих средств требовал работающего zcashd.
Зачем мигрировать — помимо прекращения поддержки
Даже не учитывая прекращение поддержки, есть веские причины перейти:
- Безопасность и надёжность: безопасность памяти Rust и современные инструменты снижают риски уязвимостей.
- Производительность и эффективность: Zebrad разработан для параллельной работы, более эффективного использования ресурсов и быстрой синхронизации.
- Модульная архитектура: разделение логики узла (Zebrad) и интерфейса кошелька (Zallet) обеспечивает более чёткие границы и лучшие пути обновления.
- Совместимость с будущей экосистемой: инструменты, улучшения и остальная экосистема Zcash будут всё больше ориентироваться на Zebrad/Zallet.
- Спокойствие: вы не окажетесь в ситуации, когда используете устаревший неподдерживаемый компонент.
Теперь перейдём к руководству по миграции
1. Создайте резервные копии всего
- Создайте резервную копию wallet.dat (или любого другого файла кошелька / хранилища ключей) с вашего узла zcashd.
- Сохраните zcash.conf и все пользовательские настройки.
- Экспортируйте копию всех используемых вами RPC-скриптов или средств автоматизации.
- Убедитесь, что резервные копии действительны (например, попробуйте открыть или проверить их в другой среде).
- Проверьте, на какие методы JSON-RPC вы сейчас полагаетесь.
- Сравните с планируемой таблицей совместимости, поддерживаемой на сайте поддержки Zcash
- Подготовьтесь к изменениям или отсутствующим методам (для некоторых может потребоваться обходное решение или адаптация).
2. Системные требования и место на диске
- Дисковое пространство — требование, которое люди недооценивают. Цепочка Zcash превысила 270 ГБ в августе 2026 года, поэтому предусмотрите как минимум 300 ГБ свободного места, желательно на SSD.
- Убедитесь, что у вашей машины стабильная сеть, достаточные CPU и RAM.
- Подключение к интернету
- Если вы планируете компилировать из исходного кода, установите Rust и Cargo.
3. Установка / настройка Zebrad
Вы можете либо скачать готовый бинарный файл, либо собрать из исходного кода.
Вариант A: установка через готовый бинарный файл
На Linux/macOS:
Это устанавливает последнюю стабильную версию zebrad.
Вариант B: сборка из исходного кода
После сборки переместите бинарный файл в ваш путь:
4. Конфигурация и запуск
Сгенерируйте конфигурацию по умолчанию:
Отредактируйте zebrad.toml в соответствии с вашими предпочтениями (адрес прослушивания, порты, каталог состояния, кэширование).
Запустите узел:
Узел начнёт синхронизацию с генезис-блока — ожидайте несколько часов (или больше) в зависимости от оборудования и сети.
5. Установка / настройка Zallet (кошелька)
Zallet создан для замены части zcashd, отвечающей за кошелёк.
Проверьте страницу GitHub / релизов Zallet на наличие бинарных файлов.
Или соберите из исходного кода:
- Запустите GUI или CLI (в зависимости от вашей установки).
- Настройте его для подключения к локальному узлу Zebrad через конечную точку RPC или API.
6. Импорт вашего кошелька zcashd в Zallet
Вам не нужен работающий zcashd. Zallet читает файл wallet.dat напрямую, что важно, поскольку zcashd больше нельзя запустить.
Сохраните wallet.dat. Миграция сообщает обо всём, что невозможно представить в кошельке Zallet, вместо импорта таких данных, и этот ключевой материал тогда существует только в wallet.dat. Не удаляйте его после миграции.
Сначала выполните zallet init-wallet-encryption. Zallet шифрует ключевой материал с помощью идентификатора age, и этот идентификатор должен существовать до импорта любых ключей.
Затем преобразуйте конфигурацию и кошелёк:
Code-highlight
# translate zcash.conf into zallet.toml
zallet migrate-zcash-conf --zcashd-datadir /path/to/zcashd/datadir -o /path/to/zallet/datadir/zallet.toml
# import wallet.dat into Zallet's wallet.db
zallet migrate-zcashd-wallet --zcashd-datadir /path/to/zcashd/datadir
migrate-zcashd-wallet присутствует только в сборках с функцией zcashd-import, а для чтения wallet.dat необходима утилита db_dump из Berkeley DB 6.2 — версии, использовавшейся zcashd. Если у вас несколько файлов кошелька, выполняйте команду один раз для каждого файла и добавляйте --allow-multiple-wallet-imports при последующих запусках; каждый станет собственным набором аккаунтов. Ваши rpcuser и rpcpassword не переносятся, поскольку JSON-RPC Zallet по умолчанию использует аутентификацию через cookie; добавьте учётные данные с помощью zallet add-rpc-user, если они вам нужны.
Что переносится
- Мнемонические сид-фразы и производные от них ключи, при этом аккаунты восстанавливаются в соответствии с кошельком zcashd
- Отдельно импортированные ключи расходов Sapling и прозрачные ключи
- Прозрачные записи только для просмотра, включающие открытый ключ или скрипт погашения
- Даты создания аккаунтов, чтобы сканирование цепочки начиналось с правильной высоты
Что не переносится. Вместо импорта об этих данных сообщается с указанием количества:
- Ключи расходов и средства Sprout. Zallet не поддерживает пул Sprout. Документированный способ состоял в выводе средств Sprout с помощью zcashd до его вывода из эксплуатации, и теперь это больше невозможно. Если это относится к вам, спросите в Zcash R&D Discord или на форуме сообщества, прежде чем делать что-либо ещё.
- Записи адресной книги
- Записи только для просмотра, сохранённые без открытого ключа или скрипта погашения, а также записи с несжатыми открытыми ключами
- Кошельки Regtest
Создание резервных копий после этого. Одна мнемоническая фраза не является полной резервной копией, потому что импортированные ключи существуют только в базе данных кошелька. Храните защищённые копии wallet.db, файла идентификатора шифрования age, указанного параметром keystore.encryption_identity, и вашей мнемонической фразы, а также сохраните исходный wallet.dat. Обратите внимание, что wallet.db сам по себе не зашифрован: он содержит историю ваших транзакций и ключи просмотра в открытом виде, поэтому храните резервную копию в безопасном месте.
Повторное сканирование и синхронизация кошелька
- После импорта ключей Zallet запустит повторное сканирование цепочки через Zebrad.
- Дайте Zallet некоторое время на восстановление вашего баланса и истории транзакций.
7. Проверьте балансы и синхронизацию
После импорта Zallet подключится к вашему узлу Zebrad и повторно просканирует блокчейн.
Когда синхронизация завершится, ваши балансы и транзакции должны отображаться точно так же, как раньше.
Вы можете проверить статус синхронизации вашего узла, выполнив:
Или проверьте журналы.
8. Устранение неполадок
| Проблема | Возможная причина | Решение |
|---|
| Zebrad не запускается | Порт используется или неверная конфигурация | Проверьте zebrad.toml и используйте свободный порт |
| Медленная синхронизация | Перегрузка сети | Убедитесь в стабильности интернет-соединения, перезапустите Zebrad |
| В кошельке отсутствуют транзакции | Неполный импорт ключей | Повторно импортируйте ключи или выполните повторное сканирование в Zallet |
| Zallet не может подключиться к узлу | Узел не запущен или неверная конечная точка | Запустите Zebrad и проверьте правильность порта RPC |
| Zallet аварийно завершает работу | Устаревшая сборка | Обновитесь до последнего выпуска с GitHub |
9. Заключение
Миграция с zcashd на Zebrad и Zallet даёт вам более быстрый, безопасный и современный опыт работы с Zcash.
Благодаря безопасности Rust, модульному дизайну и лучшим инструментам эта настройка гарантирует, что ваш узел и кошелёк будут готовы к будущему по мере развития экосистемы Zcash.
Совет: храните ключи кошелька офлайн и регулярно создавайте резервные копии данных Zallet.
Посетите zebra.zfnd.org для Zebra, а также The Zallet Book или репозиторий Zallet для Zallet. Глава Migrating from zcashd в The Zallet Book является авторитетным источником для шага 6.