Devtool для Zcash — это платформа для разработки на Zcash. Она создана разработчиками для разработчиков, для тестирования и разработки новых функций Zcash; её не следует считать готовой к использованию в продакшене. API командной строки, предоставляемый этим инструментом, может и будет изменяться в любое время без предупреждения. НЕ доверяйте значительные средства встроенному кошельку zcash-devtool.
Видеоурок по Devtool для Zcash:
Kris Nuttycombe (@nuttycom) представил этот инструмент во время ZconVI.
Пошаговое руководство по началу работы с этими инструментами см. в этом руководстве. В нём подробно описаны настройка и использование инструментов zcash devtool. Оно предназначено как руководство по настройке и добавлению собственных функций в инструмент.
Быстрый старт
Приведённые ниже команды проверены с zcash-devtool main (коммит 5a26ee8, август 2026 г.). Инструмент меняется без предупреждения, поэтому выполните --help для любой команды, если что-то здесь больше не совпадает.
Установка
Готовых бинарных файлов нет. Установите Rust, затем соберите из исходного кода:
Code-highlight
git clone https://github.com/zcash/zcash-devtool.git
cd zcash-devtool
cargo run --release -- --help
В примерах ниже используется собранный бинарный файл target/release/zcash-devtool. cargo run --release -- ... работает так же.
Создание testnet-кошелька
Начните с testnet. Монеты testnet (TAZ) не имеют ценности.
-w — это каталог кошелька. Он указывается после wallet и перед подкомандой.
-i — это файл идентификации age. Мнемоническая фраза кошелька шифруется с его помощью, и файл создаётся, если его не существует. Сохраните его: send, shield и другие команды расходования средств используют его для расшифровки seed-фразы.
-n — это сеть: test или main.
-s выбирает сервер лёгкого кошелька. По умолчанию zecrocks подключается к серверу zec.rocks для выбранной сети.
Чтобы восстановить существующий кошелёк, используйте restore-mnemonic вместо init. Будет запрошена фраза.
balance выводит каждый пул отдельно, включая Ironwood:
propose показывает транзакцию, которую создала бы команда send, без её отправки. list-tx и list-unspent показывают историю и записи кошелька.
Любая команда, взаимодействующая с сервером, также принимает --connection tor, который направляет соединение через встроенный клиент Tor.
Проверка адресов, ключей и транзакций
inspect декодирует данные Zcash офлайн: адреса, ключи и необработанные транзакции. Добавьте --lookup, чтобы получить больше информации из блокчейна, например транзакцию по её ID.
Записи Ironwood отправляются тому же получателю Orchard в едином адресе, поэтому адреса не изменились с NU6.3.
Поэтапное создание транзакций с PCZT
PCZT (частично созданная транзакция Zcash) разделяет создание транзакции на отдельные этапы: создание, доказательство, подписание и отправку. Каждый этап может выполняться на отдельной машине, например с аппаратным подписывающим устройством, таким как Keystone. Каждая команда pczt считывает PCZT из файла или stdin и записывает его в файл (--output) или stdout, поэтому этапы можно передавать по конвейеру:
plan показывает предварительный просмотр разделения записей и расписания перевода, ничего не изменяя.
commit создаёт и предварительно подписывает первые подготовительные транзакции. Добавьте --external, чтобы оставить их неподписанными для внешнего подписывающего устройства, такого как Keystone.
status показывает ход миграции и следующий этап.
advance создаёт доказательство для следующей транзакции, якорь которой готов.
Команды миграции всё ещё разрабатываются. advance останавливается на первой транзакции, готовой к трансляции, поскольку трансляция пока не реализована в инструменте. Для повседневного использования перемещайте средства с помощью кошелька, поддерживающего Ironwood. См. Экранированные пулы.
Предупреждения по безопасности:
НЕ ИСПОЛЬЗУЙТЕ ЭТО В ПРОДАКШЕНЕ!!!
Приложение не разрабатывалось с учётом безопасности. Тем не менее оно имеет такие механизмы, как шифрование мнемонических seed-фраз, которые могут сделать его пригодным для небольших экспериментов на ваш страх и риск.