Оплата комиссии за газ валидаторам в cosmos sdk?

Как валидаторы получают деньги на свой счет? Как сумма цены на газ переводится из учетной записи пользователя в учетную запись валидатора. ? А как проверить баланс учетной записи пользователя и учетной записи валидатора до и после?


person Mr.100    schedule 20.01.2021    source источник


Ответы (1)


Как валидаторы получают деньги на свой счет?

Валидаторы не получают деньги. В Cosmos Hub (Gaia), который использует модуль x/distribution в Cosmos-SDK. Этот модуль реализует спецификацию распределения F1. В этой спецификации определено, что валидаторы зарабатывают инфляционное вознаграждение, часть собираемых во всем мире сборов и возможную комиссию (если они ее взимают). Итак, чтобы ответить на ваш вопрос, хаб ведет ленивый учет, где он отслеживает, сколько вознаграждений валидатор и его делегаты получают на поблочной основе.

Валидаторы и их представители могут отозвать эти награды в любое время.

Как сумма цены на газ переводится из учетной записи пользователя в учетную запись валидатора?

Комиссионные снимаются со счета для уплаты комиссионных во время AnteHandler исполнения в течение DeliverTx. У каждого tx есть специальный плательщик комиссии - обычно первый подписавший tx.

А как проверить остатки на аккаунте пользователя и валидатора до и после?

В дополнение к CLI существуют API-интерфейсы, которые позволяют запрашивать баланс адреса. Вы можете легко найти эти API-интерфейсы или найти их в Google.

person aleksbez    schedule 20.01.2021
comment
Можете ли вы направить меня к базе кода, где происходит оплата комиссии. Происходит ли это через функцию перевода монет в банковском модуле? И как вы упомянули, что валидатор не получает деньги в этом случае, а комиссия идет? Как происходит передача монет под капотом? - person Mr.100; 21.01.2021
comment
1. Разве это не часть разработки, созданной с помощью startport starget. Я сделал несколько транзакций из учетной записи user1, и остатки на счетах остались прежними. 2. Можете ли вы направить меня к базе кода antehandler, где происходит этот перевод монеты со счета. Я верю, что это делается с помощью функции банковского модуля. 3. О каком бассейне вы говорите? Пожалуйста, дополните. - person Mr.100; 21.01.2021
comment
@ mr.100 Удержание комиссии происходит в AnteHandler. Вы можете найти точный декоратор здесь github.com/cosmos/cosmos-sdk/blob/v0.40.1/x/auth/ante/. - person aleksbez; 21.01.2021
comment
@aleksbex полезно - person Mr.100; 21.01.2021
comment
Как это проверить в среде разработки на основе космопорта? - person Mr.100; 22.01.2021