Перейти к основному содержимому

Настройка узла и кошелька для mainnet

Mainnet — это реальная ценность. Всё здесь предполагает, что вы уже прошли локальную цепочку в запустить локальную сеть и первый перевод, потому что механика идентична, а последствия — нет.

Два процесса. Узел, который валидирует и ретранслирует цепочку, и кошелёк, который хранит ключи и запрашивает у узла состояние сети. Узел необходим. Майнинг не обязателен.

1. Запустить узел

Mainnet — сеть по умолчанию, поэтому флаг не нужен:

epic

Узел записывает epic-server.toml при первом запуске и читает его в дальнейшем. Редактирование этого файла — стандартный способ изменить поведение, поскольку большинство настроек существуют только как ключи конфигурации, а не как флаги командной строки. Каждый ключ требует перезапуска.

Убедитесь, что узел запущен. Интерфейс владельца требует аутентификации, секрет создаётся автоматически:

curl -s -u epic:$(cat ~/.epic/main/.api_secret) -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"get_status","params":[],"id":1}' \
http://127.0.0.1:3413/v2/owner

Первая синхронизация загружает и валидирует всю цепочку. Ожидайте, что это займёт некоторое время и потребует реального дискового пространства.

Порты

ПортНазначениеПривязка по умолчанию
3413HTTP API127.0.0.1
3414P2PВсе интерфейсы
3416Stratum-сервер майнинга127.0.0.1, отключено по умолчанию

Только P2P-порт должен быть доступен извне. Оставьте API на loopback и прочитайте аутентификация и TLS перед изменением этого. Каждый порт и сетевое смещение описаны в справочнике CLI.

Настройки валидации синхронизации

skip_pow_validation и disable_checkpoints оба по умолчанию равны true. Это оптимизация скорости синхронизации, а не ослабленное значение по умолчанию.

Где находится блокВыполняемая проверка
Внутри диапазона с контрольной точкойХеш заголовка сравнивается с жёстко заданной контрольной точкой. Несовпадение прерывает синхронизацию. Доказательство работы пропускается
За контрольными точками, более чем на 1,000 блоков позади вершины цепочкиДоказательство работы пропускается
В пределах 1,000 блоков от вершины цепочкиПолное доказательство работы, всегда, независимо от этих настроек

В узел скомпилировано 12 контрольных сумм в chain/src/types.rs:432. Код — check_header_against_checkpoints(), решение о пропуске — в servers/src/common/adapters.rs:728, нижняя граница — POW_VERIFICATION_THRESHOLD.

Установите оба в false, чтобы самостоятельно верифицировать всё историческое доказательство работы. Это потребует значительно более долгой начальной синхронизации.

Что хранит узел

chain_data, файл конфигурации, файлы журналов и API secret. chain_data — крупный элемент, и он одноразовый: его удаление стоит лишь повторной синхронизации и ничего больше. Узел не хранит ключей, поэтому ничто в его каталоге данных не требует резервного копирования.

2. Создать кошелёк

epic-wallet init

Вам будет предложено задать пароль, и будет показана фраза восстановления.

Write the recovery phrase down before continuing

Фраза — единственное, что позволяет восстановить ваши средства. Она показывается один раз здесь, а впоследствии только через epic-wallet recover, которому требуется пароль.

КомандаЭффект
epic-wallet initСоздать кошелёк в расположении по умолчанию, ~/.epic/main
epic-wallet init -wСоздать в текущем каталоге. Флаг не принимает значения
epic-wallet init -rВосстановить из существующей фразы восстановления

init -r отказывается запускаться, если файл сида уже существует, поэтому восстановление в каталог, в котором уже есть кошелёк, требует предварительного перемещения этого кошелька. См. резервное копирование и восстановление.

Отключить слушатель Tor

Кошелёк по умолчанию устанавливает use_tor_listener в true и ожидает бинарный файл Tor, который не поставляется в архивах релиза, поэтому epic-wallet listen запускает фоновый поток, который завершается с ошибкой. Два способа отключить это, один из которых применяется на уровне команды:

epic-wallet.toml
[tor]
use_tor_listener = false
epic-wallet listen -n

-n объявляется только в listen (src/cmd/wallet_args.rs:123), поэтому его нужно повторять при каждом listen. Ключ конфигурации применяется ко всем командам в этом каталоге кошелька и является предпочтительной настройкой. Ни один из вариантов не влияет на использование Tor узлом.

Что хранит кошелёк

Резервное копирование и восстановление перечисляет все файлы в каталоге кошелька, что они содержат и нужно ли их резервировать. Фраза восстановления восстанавливает средства, но не историю. Записи транзакций, метки аккаунтов и записи доказательств платежей хранятся только в базе данных, и ничто в цепочке не может их восстановить.

Порты, открываемые кошельком

epic-wallet listen открывает Foreign API на 3415, а epic-wallet owner_api открывает Owner API на 3420. Порт Foreign API определяется сетью; порт Owner API равен 3420 в любой сети, поэтому второй кошелёк на той же машине будет конфликтовать с ним независимо от того, в какой цепочке он работает. Переопределите owner_api_listen_port. Полный список — в справочнике CLI.

3. Указать кошельку адрес узла

Кошелёк по умолчанию подключается к узлу на loopback на порту 3413 и в стандартной конфигурации разрешает API secret узла из того же файла, который создал узел. Настройка не требуется.

Два случая меняют это. Если вы переместили любой из каталогов, установите node_api_secret_path в учётные данные, которые кошелёк предъявляет узлу. Если нужен другой узел, установите check_node_api_http_addr в epic-wallet.toml.

epic-wallet info

Нулевой баланс без ошибки означает, что кошелёк достиг узла и узел ответил. Код 401 означает, что они расходятся в секрете.

Кошелёк, направленный на публичный узел, работает. Этот узел видит, о каких выходах (outputs) спрашивает кошелёк, а кошелёк не валидирует полученное состояние цепочки.

Далее