Установка и использование платформы
Общая настройка платформы: настройка майнинга¶
Параметры майнинга в блокчейне находятся в разделе miner
конфигурационного файла ноды:
miner {
enable = yes
quorum = 2
interval-after-last-block-then-generation-is-allowed = 10d
no-quorum-mining-delay = 5s
micro-block-interval = 5s
min-micro-block-age = 3s
max-transactions-in-micro-block = 500
max-block-size-in-bytes = 1048576
min-micro-block-age = 6 s
minimal-block-generation-offset = 200ms
pullin-buffer-size = 100
utx-check-delay = 1s
}
enable
– активация опции майнинга. Включение –yes
, отключение –no
.quorum
– необходимое количество нод-майнеров для создания блока. Значение 0 позволит генерировать блоки оффлайн и используется только в тестовых целях в сетях с одной нодой. При указании этого значения необходимо учитывать, что собственная нода-майнер не суммируется со значением этого параметра, т.е. если вы указываетеquorum = 2
, то для майнинга нужно минимум 3 ноды-майнера.interval-after-last-block-then-generation-is-allowed
– создание блока только в том случае, если последний блок не старше указанного периода времени (в днях).micro-block-interval
– интервал между микроблоками (в секундах).min-micro-block-age
– минимальный возраст микроблока (в секундах).max-transactions-in-micro-block
– максимальное количество транзакций в микроблоке.minimal-block-generation-offset
– минимальный временной интервал между блоками (в миллисекундах).
pulling-buffer-size
– размер буфера транзакций. Чем выше значение параметра, тем дольше группируются транзакции.
utx-check-delay
– задержка проверки UTX-пула (есть ли в пуле транзакции или он пуст) майнером. По умолчанию используется значение 1 c. Значение параметра должно быть больше либо равно 100 мс.
Настройки майнинга зависят от планируемого в вашей сети размера транзакций.
Настройки майнинга и алгоритм консенсуса¶
Майнинг в блокчейне тесно связан с выбранным алгоритмом консенсуса.
При настройке параметров консенсуса необходимо учитывать следующие параметры секции miner
:
micro-block-interval
– интервал между микроблоками. Значение указывается в секундах.min-micro-block-age
– минимальный возраст микроблока. Значение указывается в секундах и не должно превышать значения параметраmicro-block-interval
.minimal-block-generation-offset
– минимальный временной интервал между блоками. Значение указывается в миллисекундах.
Значения параметров создания микроблоков не должны превышать или как-либо иначе конфликтовать со значениями параметров average-block-delay
для PoS и round-duration
для PoA и CFT.
Количество микроблоков в блоке не ограничено, но зависит от размера транзакций, попавших в микроблок.
Настройки UTX¶
В пуле неподтвержденных транзакций (UTX) предусмотрен механизм реброадкастинга, который позволяет сети быстрее восстановиться в случае возникновения каких-либо сбоев — например, при потере сетевой связности между нодами. В таких случаях транзакции, отправленные в одну ноду, могут оказаться не распространёнными. Механизм реброадкастинга решает такие проблемы, периодически проверяя актуальность транзакций, лежащих у ноды в UTX.
Этот механизм через заданный в параметре interval
промежуток времени проверяет все транзакции в UTX; затем он повторно отправляет своим пирам те транзакции, дата создания которых отличается от текущей более чем на период, заданный в параметре threshold
.
Параметры UTX задаются в разделе utx
конфигурационного файла ноды:
utx {
memory-limit=100Mb
rebroadcast-threshold=5m
rebroadcast-interval=5m
}
memory-limit
– максимальный размер UTX-пула; при подсчёте размера UTX-пула учитывается не итоговый размер транзакций в памяти, а только сериализованный вид;rebroadcast-threshold
– когда после создания транзакции проходит указанное в параметре время, транзакция считается «старой» и подлежит повторной отправке (ребродкастингу); значение параметра по умолчанию –5m
;rebroadcast-interval
– интервал запуска механизма реброадкастинга «старых» транзакций; значение параметра по умолчанию –5m
.