Это гайд, как с помощью утилиты для командной строки (CLI) взаимодействовать с основными функциями протокола Tornado, когда основные сайты по каким-либо причинам недоступны, либо на выбранной вами сети нету работающих релееров, ну или вам просто удобнее работать в консоли. Почти все материалы этого туториала предназначены для людей, обладающих минимальными навыками работы с компьютером.
Однако, если вы знаете с git, NodeJS и так далее, нажмите - тут краткое руководство
- Установите любой git-клиент, например, тут
- Установите последнюю версию NVM отсюда
- Откройте консоль с правами администратора (Powershell, cmd - неважно)
git clone https://git.tornado.ws/tornadocash/tornado-cli
nvm install 14.21.3
- Установите node-gyp dependencies [Не обязательно]
npm install
Теперь вы можете работать с tornado-cli, как описано в документации
Шаг первый: установка NVM
Чтобы с легкостью установить NodeJS требуемой версии и легко решать проблемы с зависимостями, понадобится универсальный менеджер пакетов Node с открытым исходным кодом под названием NVM.
Установка на Windows
Зайдите на страницу релизов NVM на github и скачайте архив с последней версией программы - всё как на скриншоте ниже. Название файла должно быть nvm-setup.zip
.
Далее, требуется распаковать архив в любую удобную вам папку - для распаковки .zip
подойдёт любой встроенный разархиватор на вашей системе. Далее, откройте итоговую папку и запустите исполняемый файл nvm-setup.exe
, если после запуска выдало предупреждение о том, что приложение из ненадежного источника - подтверждайте запуск ещё раз.
Далее, соглашаетесь со стандартными путями установки и следуете инструкциям в окошке установки приложения.
После завершения установки откройте нижнюю панель Windows, найдите иконку (или строку) поиска, введите Poweshell или cmd и запустите от имени администратора. Когда окошко консоли откроется, введите команду ниже и затем нажмите Enter:
nvm -v
Если после выполнения команды вывело версию NVM, которую вы установили (аналогично скриншоту ниже), то всё отлично - переходите к следующему пукнту.
Установка на Linux
На линуксе установить NVM очень просто, всего парой команд через стандартный терминал вашей операционной системы. Откройте терминал, далее введите, в зависимости от того, что у вас установлено по умолчанию - curl или wget:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
ИЛИ
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
Когда NVM установится, добавьте его в быстрый доступ (PATH) этой командой:
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Затем вводите:
nvm -v
Если в ответе выводится корректная версия NVM, которую вы скачали с сайта - всё отлично.
Шаг второй: установка NodeJS
Теперь вам надо установить NodeJS версии 14.21.3, чтобы CLI-приложение работало корректно. Для этого введите в ещё открытом окне консоли следующие команды:
nvm install 14.21.3
nvm use 14.21.3
Если обе команды выполнились успешно, проверьте результат следующей командой:
node -v
Вывод в консоли должен быть v14.21.3
, как на скриншоте ниже:
Шаг третий: установка CLI с git
Перейдите на страницу репозитория tornado-cli и скачайте последнюю версию архивом, как показано ниже:
Откройте в проводнике папку, куда скачался архив, и разархивируйте его (как уже делали с архивом NVM). Далее снова откройте консоль от имени администратора (предыдущее окно использовать не надо - некоторые команды в нём могут быть недоступны).
Введите в открытой консоли команду: cd <путь к папке tornado-cli>
Путь можете скопировать прямо из проводника, если в нём есть пробелы - надо заключить весь путь в кавычки, вот так: cd "путь"
. Действия наглядно показаны на гифке ниже:
Далее надо установить сами зависимости - сделать это можно командой ниже:
npm install
Если всё установилось успешно (даже с предупреждениями), можно продолжать, если же возникла какая-то ошибка, связанная с разрешениями (permissions) - перезапустите терминал ещё раз с правами администратора (или, если на Linux, добавьте sudo
перед npm
).
Если команда npm install завершилась с ошибкой
Скачивание node-gyp и зависимостей
Сначала в открытом терминале (консоли) запустите команду: npm i -g node-gyp
Инструкция для Windows
Установите последнюю версию Python 3 с официального сайта (просто нажать большую кнопку Download, запустить скачавшийся исполняемый файл и следовать всем инструкциям установщика).
Далее установите последнюю версию Microsoft Visual Studio Build Tools (для компиляции С++): перейти по этой ссылке и загрузка начнётся автоматически. Когда файл с названием vs_BuildTools.exe
будет загружен, просто запустите его и в окне установке выберите пункт Desktop Development with C++
.
Инструкция для Linux
Просто откройте терминал и запустите команду: sudo apt-get install -y build-essentials
, Python должен быть установлен в системе по умолчанию.
Заключительный шаг: использование CLI
Описание практически всех функций есть в самой программе или в документации на git по ссылке ниже, однако они на английском. Для тех, кому надо просто вывести средства без особых сложностей, ниже будет короткий туториал.
Легкий гайд - как выводить с помощью CLI
Сначала подготовьте свою приватную ноту и адрес, на который будете выводить средства. Так же может понадобиться секретный ключ (приватный ключ) конкретно от того кошелька (адреса), куда выводится note.
Откройте терминал (консоль) в папке CLI и скопируйте следующую команду: node cli.js withdraw <your note> <your address> --relayer <relayer link>
ИЛИ (если вы хотите вывести без релеера или его нет на вашей сети)
node cli.js withdraw <your note> <your address> --private-key <private key>
Разумеется, все значения параметров в <>
надо будет заменить на реальные, к примеру:
node cli.js withdraw tornado-eth-0.1-5-0xf73dd6833ccbcc046c44228c8e2aa312bf49e08389dadc7c65e6a73239867b7ef49c705c4db227e2fadd8489a494b6880bdcb6016047e019d1abec1c7652 0x8589427373D6D84E98730D7795D8f6f8731FDA16 --relayer https://goerli-relay.example.org
Если вы хотите вывести без релеера, с использованием приватного ключа, сначала удостоверьтесь в двух важных вещах:
- Приватный ключ конкретно от того кошелька (адреса), куда вы планируете выводить средства
- На адресе, куда вы выводите средства, достаточно базовой валюты сети (например, ETH на Ethereum Mainnet или BNB на BSC), чтобы заплатить комиссию за вывод.
Когда вы запустите команду, дерево событий будет загружено и SNARK-доказательство сгенерировано, вы увидите окно подтверждения транзакции, примерно такое:
Если вас устраивает комиссия сети и комиссия релеера, введите Y
и нажмите “Enter”.
После отправки транзакции в блокчейн в консоль будет выведена ссылка на транзакцию в обозревателе блоков вашей сети:
Важная информация
Если вас не устраивает RPC по умолчанию, которые указаны в config.js
, вы можете выбрать любую RPC себе по вкусу на сайте chainlist.org или в списке RPC в документации CLI
Оригинал создан Gozzy, исправил, обновил, улучшил и перевёл - Theo.