Ретрансляция транзакций Ethereum
Команды Relayer находятся в бинарном файле namadar
, который на данный момент может быть установлен только из исходного кода.
Обновление наборов валидаторов при ретрансляции
Для того чтобы транзакции могли быть переданы смарт-контракту Ethereum, на стороне Ethereum должны быть обновлены наборы валидаторов. Для этого используется ретранслятор, который может быть настроен следующим образом:
Флаг --safe-mode
является необязательным, но рекомендуется. Он предотвращает выключение ретранслятора по команде ^C
и вместо этого ожидает завершения ретрансляции текущей партии транзакций перед выключением.
Существуют и другие опциональные флаги, которые можно найти, выполнив namadar validator-set relay --help
. В частности, флаги --eth-gas
и --eth-gas-price
позволяют задать максимальный лимит газа и цену газа соответственно, которые ретранслятор будет использовать при передаче транзакций смарт-контракту Ethereum.
Ретрансляция транзакций
Транзакции передаются партиями. Перед отправкой смарт-контракту Ethereum пакета транзакций ретранслятор будет ждать, пока он не получит пакет транзакций для ретрансляции. Это делается для того, чтобы уменьшить количество транзакций, которые необходимо отправить смарт-контракту Ethereum, и тем самым снизить затраты на газ.
Ретранслятор может получить "рекомендуемую партию" подписанных транзакций для ретрансляции, выполнив следующие действия:
Если это благоприятно для ретранслятора, он может построить доказательство и передать его смарт-контракту Ethereum путем запуска:
Поскольку речь идет о транзакции в системе Ethereum, флаги --eth-gas
и --eth-gas-price
также доступны.
В качестве альтернативы ретранслятор может выполнить команду:
Это только построение доказательства без его передачи. Затем доказательство может быть передано ретранслятором вручную.
Last updated