В этом разделе рассматриваются вопросы установки, настройки и запуска .
При установке в директории, в которой был запущен бинарник(если только не указан флаг workDir), будет создан файл config.toml, который используется для управление конфигурацией ноды.
Пример:
LogLevel = "ERROR" LogFileName = "" InstallType = "PRIVATE_NET" NodeStateID = "*" TestMode = false StartDaemons = "" KeyID = -3785392309674179665 EcosystemID = 0 BadBlocks = "" FirstLoadBlockchainURL = "" FirstLoadBlockchain = "" MaxPageGenerationTime = 0 WorkDir = "files" PrivateDir = "files" RunningMode = "privateBlockchain" [TCPServer] Host = "127.0.0.1" Port = 7078 [HTTP] Host = "127.0.0.1" Port = 7079 [DB] Name = "egaas" Host = "localhost" Port = 5432 User = "egaas" Password = "egaas" [StatsD] Name = "apla" Host = "127.0.0.1" Port = 8125 [Centrifugo] Secret = "" URL = "" [Autoupdate] ServerAddress = "http://127.0.0.1:12345" PublicKeyPath = "update.pub" [BanKey] BanTime = 15 BadTx = 3 BadTime = 5
- LogLevel - Используемый уровень логгирования. Значения - одно из "DEBUG", "INFO", "WARN", "ERROR". В случае некорректного значения будет выставлен логлевел INFO.
- LogFileName - Имя файла, куда будет писаться лог. В случае пустого значения - лог пишеться в stderr.
- InstallType - тип установки. Сейчас есть только одно значение этого параметра - "PRIVATE_NET".
- NodeStateID - список id экосистем, относящихся к данной ноде. Допустимые значения - "*", "Список айдишников через запятую".
- TestMode - если выставлен - вместо параметра sysparam.GetRemoteHosts() в демоне Confirmations используется localhost.
- StartDaemons - какие демоны запускать. Допустимые значения "" - запускать все демоны, "null" - не запускать ни одного демона, "Список демонов через запятую".Имена демонов - BlocksCollection, BlockGenerator, Disseminator, QueueParserTx, QueueParserBlocks, Confirmations, Notificator.
- KeyID - адрес основного кошелька ноды.
- MaxPageGenerationTime - Максимальное время генерации страницы в миллисекундах.
- EcosystemID - ID основной экосистемы ноды.
- BadBlocks - список ID некорректных блоков.
- FirstLoadBlockchain - тип первоначальной загрузки блокчейна.
- FirstLoadBlockchainURL - с какого URL первоначально скачивать блокчейн.
- WorkDir - рабочая директория, где искать файлы первого блока, конфига, pidfile, роллбека.
- PrivateDir - директория, где хранятся файлы ключей. NodePrivateKey, NodePublicKey, PrivateKey, PublicKey, и KeyID.
- RunningMode - режим запуска ноды, допустимые значения: OBS, OBSMaster, PrivateBlockchain, PublicBlockchain.
Настройки TCPServer - компонента отвечающего за сетевое взаимодействие между нодами.
- Host - хост, на котором работает TCPServer.
- Port - порт, на котором работает TCPServer.
Настройки HTTPServer, компонента, который предоставляет REST API.
- Host - хост, на котором работает HTTPServer.
- Port - порт, на котором работает HTTPServer.
Настройки БД, в данном случае PostgreSQL.
- Name - имя базы данных , к которой производится подключение.
- Host - хост базы данных, к которой производится подключение.
- Port - порт базы данных, к которой производится подключение.
- User - имя пользователя БД.
- Password - пароль пользователя БД.
Настройки StatsD - сборщика метрик работы ноды.
- Name - имя, с которого будет начинаться иерархия счетчиков метрик.
- Host - хост для подключения к StatsD.
- Port - порт для подключения к StatsD.
Настройки Centrifugo - компонента, отвечающего за доставку уведомлений.
- URL - URL запущенного сервера centrifugo(https://github.com/centrifugal/centrifugo).
- Secret - Секретная строка centrifugo.
Настройки бана ключей, которые отправляют плохие транзакции. Ключ заносится в бан на время BanTime (в минутах), если от ключа в течении времени BadTime ( в минутах) пришло BadTx плохих транзакций.
- BanTime - время бана ключа в минутах. По умолчанию, 15 минут.
- BadTx - количество плохих транзакций за время BadTime, после которых ключ попадает в бан. По умолчанию, равно 3.
- BadTime - период в минутах, за который отслеживаются плохие транзакции. По умолчанию, 5 минут.
- workDir - указать рабочую директорию.
- centrifugoSecret - секретный ключ для centrifugo.
- centrifugoUrl - url для centrifugo, в формате host:port.
- checkReadAccess - Проверять ли поля доступа к колонкам таблиц на чтение. Используется только для OBS.
- configPath - путь к .toml конфигу ноды.
- dbHost - хост БД. По умолчанию 127.0.0.1
- dbName - имя БД. По умолчанию apla.
- dbPassword - пароль к БД.
- dbPort - порт БД. По умолчанию 5432.
- dbUser - под каким бользователем соединятся с БД.
- endBlockId - На каком блоке blockCollection прекращает работу.
- firstBlockHost - Хост, который будет прописан в первом блоке при его генерации. По умолчанию 127.0.0.1.
- firstBlockNodePublicKey - Какой публичный ключ ноды будет прописан в первом блоке.
- firstBlockPath - Где брать первый блок.
- firstBlockPublicKey - Какой публичный ключ будет прописан в первом блоке когда он будет сгенерен.
- httpHost - хост, на котором запущен http - сервер. По умолчанию 127.0.0.1.
- httpPort - порт, на котором запущен http сервер. По умолчанию 7079.
- generateFirstBlock - сгенерить связку ключей(приватный/публичный ключ пользователя/ноды) и затем первый блок с этими ключами, если это не переопределено во флагах firstBlock*.
- initConfig - сохранить конфиг из флагов.
- initDatabase - инициализировать подключение к БД.
- keyID - указать свой KeyID для работы.
- logFile - фаил для логгирования.
- logLevel - уровень детализации логирования. Один из:ERROR,WARN,INFO,DEBUG. По умолчанию ERROR.
- logSQL - логировать SQL запросы, которые генерит ORM. Используется для отладки.
- logStackTrace - отображать путь, по которому была вызвана данная строка в виде N названии функции. Используется для отладки.
- noStart - не стартовать демон, но выполнить все что указано в флагах. Используется когда демон запускается как тулза.
- privateBlockchain - приватный блокчейн или нет. Влияет на списание комиссии, в случае приватного блокчейна она не списывается.
- privateDir - директория для публичных/приватных ключей.
- rollbackToBlockId - указать Id блока к которому хотелось бы откатиться. Используется для ручного отката блокчейна к нужному блоку.
- startBlockId - с какого блока BlockCollection собирает блоки.
- tcpHost - хост TcpServer. По умолчанию 127.0.0.1.
- tcpPort - порт TcpServer. По умолчанию 7078.
- testRollBack - запустить специальный набор демонов(BlockCollection, Confirmations) для тестирования роллбеков.
- tls - Принимать HTTP запросы только по HTTPS. Указывает директорию где лежит .well-known и ключи.
- updateInterval - интервал, с которым проверяется наличие обновлениий. По умолчанию - 1 час.
- updatePublicKeyPath - публичный ключ для сервера автообновлений. По умолчанию "update.pub".
- updateServer - ардес сервера для автоапдейтов. По умолчанию http://127.0.0.1:12345.
- runMode - режим запуска ноды: OBS, OBSMaster, PrivateBlockchain, PublicBlockchain
- banTime - время бана ключа в минутах. По умолчанию, 15 минут.
- badTx - количество плохих транзакций за время BadTime, после которых ключ попадает в бан. По умолчанию, равно 3.
- badTime - период в минутах, за который отслеживаются плохие транзакции. По умолчанию, 5 минут.