-
Notifications
You must be signed in to change notification settings - Fork 5
GBG (Golos Blockchain Gold)
Каждый аккаунт имеет балансы GBG: sbd_balance
и savings_sbd_balance
.
Изначально эти балансы равны 0. Получить средства можно одним из следующих способов:
- Получить перевод от другого пользователя (transfer сразу, transfer_from_savings выведет спустя время)
- Купить на бирже (limit_order) за GOLOS или какой-то из UIA
- Конвертировать из GOLOS (начиная с HF 26)
- Получить часть авторской выплаты за пост (до HF 23)
- Выплаты interest при действиях с балансом GBG - как доходах, так и расходах
В будущем могут появиться и другие способы.
GBG - это стейблкоин. Цена 1.000 GBG в токенах GOLOS равна цене ~1 мг золота.
Чтобы сохранялось это соответствие, в системе есть курс GBG-GOLOS - current_median_history
, который формируется как медиана из значений (фидов), заданных ТОП-21 делегатов.
Этот курс используется при вышеуказанных пунктах 3 и 4.
За хранение GBG пользователи получают выплаты (interest). Начисление выплат происходит в момент разнообразных действий с GBG.
При этом неважно, доход это (получаете GBG на баланс) или расход (отдаете GBG с баланса).
GBG начисляется как на обычный GBG-баланс (только до HF 26), так и на сейфовый.
В аккаунте есть поле sbd_seconds. При действии с балансом, это поле увеличивается на (баланс * кол-во секунд, прошедшее с момента последнего обновления sbd_seconds).
Тут же, если sbd_seconds больше 0 и прошло не менее 1 месяца с предыдущей выплаты interest - происходит выплата interest. sbd_seconds в этом случае обнуляется.
Выплата interest - это процент sbd_interest_rate (делегатский параметр, может быть от 0 до 100% включительно) от sbd_seconds, деленного на кол-во секунд в году.
Таким образом, например, если баланс 1.000 GBG и сделать 2 действия:
- +9.000 GBG через 20 дней
- -5.000 GBG через 20 дней
то мы получим:
sbd_seconds += (10000 * 20*24*3600); // +17280000000
sbd_seconds += (5000 * 20*24*3600); // +8640000000
interest = 25920000000 / (365*24*3600)
interest = 0.821 GBG
Выплата произойдет в момент второго действия.
Таким образом, выплата interest - это сумма балансов на момент каждого действия, умноженных на интервалы между действиями (интервалы хранения этих балансов).