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

epic-wallet.toml

Полный справочник по файлу конфигурации кошелька. Показанные значения по умолчанию соответствуют тому, что записывает новый кошелёк в mainnet.

Расположение файла

  1. ./epic-wallet.toml в текущем рабочем каталоге, если присутствует.
  2. Иначе ~/.epic/<network>/epic-wallet.toml.

<network> — это main, floo, user или auto.

Файл записывается командой epic-wallet init, а не любой другой командой. init отказывается продолжать, если и epic-wallet.toml, и wallet_data/ уже существуют в целевом каталоге (impls/src/lifecycle/default.rs:132).

При первом запуске кошелёк также создаёт два файла с учётными данными в каталоге кошелька — .owner_api_secret и .api_secret, каждый из которых представляет собой случайную строку из 20 символов.

Пример конфигурации

Сгенерированный файл содержит все ключи. Минимальная конфигурация для второго кошелька на той же машине:

epic-wallet.toml
[wallet]
chain_type = "Mainnet"
api_listen_interface = "127.0.0.1"
api_listen_port = 3415

# Не смещается по сети, поэтому второй кошелёк на этой машине должен изменить его.
owner_api_listen_port = 3421

api_secret_path = "/home/you/wallets/bob/.owner_api_secret"
node_api_secret_path = "/home/you/.epic/main/.api_secret"
check_node_api_http_addr = "http://127.0.0.1:3413"
data_file_dir = "/home/you/wallets/bob/wallet_data"

[tor]
# Значение по умолчанию true требует наличия бинарника tor рядом с исполняемым файлом кошелька.
use_tor_listener = false
socks_proxy_addr = "127.0.0.1:9050"
send_config_dir = "/home/you/wallets/bob"

[epicbox]
epicbox_domain = "epicbox.epiccash.com"
epicbox_port = 443
epicbox_protocol_unsecure = false

[logging]
log_to_stdout = true
stdout_log_level = "Info"
log_to_file = true
file_log_level = "Debug"
log_file_path = "/home/you/wallets/bob/epic-wallet.log"

[wallet]

КлючТипDefaultНазначение
chain_typeenum, необязательныйMainnetMainnet, Floonet, UserTesting, AutomatedTesting
api_listen_interfacestring127.0.0.1Адрес привязки слушателя Foreign API. Установите 0.0.0.0, чтобы принимать переводы от других хостов
api_listen_portu163415, 13415 floonet, 23415 usernetПорт Foreign API, используется listen
owner_api_listen_portu16, optional3420 в каждой сетиПорт Owner API
owner_api_interfacestring, optional127.0.0.1Адрес привязки Owner API. Выводится закомментированным
api_secret_pathstring, optional<wallet dir>/.owner_api_secretСекрет базовой аутентификации для пути Foreign на слушателе владельца. /v3/owner принимает токен из open_wallet; см. аутентификация
node_api_secret_pathstring, optional<wallet dir>/.api_secretСекрет базовой аутентификации, который кошелёк передаёт при обращении к узлу
check_node_api_http_addrstringhttp://127.0.0.1:3413Узел, к которому обращается кошелёк. Переопределяется для каждого запуска через -r
owner_api_include_foreignbool, optionalfalseОбслуживать Foreign API на порту Owner API для окружений с одним портом
data_file_dirstring<wallet dir>/wallet_dataРасположение сида и базы данных
no_commit_cachebool, optionalfalseЗарезервировано
tls_certificate_filestring, optionalunsetTLS-сертификат для слушателя
tls_certificate_keystring, optionalunsetПриватный ключ TLS. Указание сертификата без этого ключа является ошибкой запуска
dark_background_color_schemebool, optionaltrueЦветовая схема для таблиц CLI
keybase_notify_ttlминуты, необязательный1440Время жизни уведомлений о получении Keybase. 0 отключает
The Owner API port is the same on every network

owner_api_listen_port не корректируется в зависимости от сети, в отличие от api_listen_port и check_node_api_http_addr. Кошелёк mainnet и кошелёк floonet оба используют 3420, поэтому при одновременном запуске нескольких экземпляров необходимо переопределить это значение. См. таблицу портов.

[tor]

Сгенерированный файл помечает этот раздел как экспериментальный. См. что эта версия не охватывает.

КлючТипDefaultНазначение
use_tor_listenerbooltrueЗапустить скрытый сервис на listen. Переопределяется для каждого запуска через -n / --no_tor
socks_proxy_addrstring127.0.0.1:9050Адрес SOCKS-прокси
send_config_dirstring<wallet dir>Зарезервировано

use_tor_listener не является необязательным. Раздел [tor], в котором отсутствует этот ключ, не проходит разбор — укажите значение или полностью исключите весь раздел.

Значение по умолчанию true требует наличия бинарника tor рядом с исполняемым файлом кошелька, который релизные архивы не поставляют. Либо предоставьте бинарник, либо задайте use_tor_listener = false и передайте -n в listen.

[epicbox]

КлючТипDefaultНазначение
epicbox_domainstring, optionalepicbox.epiccash.comХост релея и домен, отображаемый после @ в вашем адресе epicbox
epicbox_portu16, optional443Порт релея
epicbox_protocol_unsecurebool, optionalfalsefalse использует wss://, true использует ws://
epicbox_address_indexu32, optional0Зарезервировано. Каждое выведение использует индекс 0

Пути для адреса и отправки читают epicbox_domain и epicbox_port без запасного варианта, поэтому задайте оба явно или полностью исключите раздел [epicbox] и используйте значения по умолчанию из кода.

См. протокол epicbox для понимания того, что делает релей.

[logging]

КлючТипDefaultНазначение
log_to_stdoutbooltrueЛогировать в stdout
stdout_log_levelenumInfoError, Warning, Info, Debug, Trace
log_to_fileboolfalseЛогировать в файл
file_log_levelenumDebugУровень для файлового лога
log_file_pathstring<wallet dir>/epic-wallet.logПуть к файлу лога
log_file_appendbooltrueДописывать, а не перезаписывать при каждом запуске
log_max_sizebytes, optional16777216Ротация при превышении этого размера. Закомментируйте для отключения ротации
log_max_filesu32, optional32Сколько ротированных файлов хранить
tui_runningbool, optionalunsetУстанавливается из run_tui узла при запуске

Новый кошелёк не записывает лог-файл, поскольку log_to_file равно false, тогда как log_file_path заполнено. Задайте log_to_file = true для записи лога на диск.

Значения по умолчанию для каждой сети

Сетьapi_listen_portcheck_node_api_http_addrКаталог кошелька
Mainnet3415http://127.0.0.1:3413~/.epic/main
Floonet13415http://127.0.0.1:13413~/.epic/floo
UserTesting23415http://127.0.0.1:23413~/.epic/user
AutomatedTesting3415http://127.0.0.1:3413~/.epic/auto

Пути, задаваемые при первом запуске

Относительные значения по умолчанию в коде перезаписываются в абсолютные пути при создании файла:

КлючЗаписанное значение
wallet.data_file_dir<wallet dir>/wallet_data
wallet.api_secret_path<wallet dir>/.owner_api_secret
wallet.node_api_secret_path<wallet dir>/.api_secret
logging.log_file_path<wallet dir>/epic-wallet.log
tor.send_config_dir<wallet dir>

<wallet dir> равно ~/.epic/<network>, если вы не указали его с помощью --current_dir или init --cwd.

Источник

  • config/src/types.rs — структуры и их значения по умолчанию
  • config/src/types.rs:223[logging], конфигурация логирования, общая для узла
  • config/src/comments.rs — аннотированный шаблон, записываемый на диск
  • config/src/config.rs — обнаружение файлов, переопределения для каждой сети и перезапись путей

Далее