GBG (Golos Blockchain Gold) - golos-blockchain/chain-node GitHub Wiki

Каждый аккаунт имеет балансы GBG: sbd_balance и savings_sbd_balance.

Изначально эти балансы равны 0. Получить средства можно одним из следующих способов:

  1. Получить перевод от другого пользователя (transfer сразу, transfer_from_savings выведет спустя время)
  2. Купить на бирже (limit_order) за GOLOS или какой-то из UIA
  3. Конвертировать из GOLOS (начиная с HF 26)
  4. Получить часть авторской выплаты за пост (до HF 23)
  5. Выплаты interest при действиях с балансом GBG - как доходах, так и расходах

В будущем могут появиться и другие способы.

Курс GBG к GOLOS

GBG - это стейблкоин. Цена 1.000 GBG в токенах GOLOS равна цене ~1 мг золота.

Чтобы сохранялось это соответствие, в системе есть курс GBG-GOLOS - current_median_history, который формируется как медиана из значений (фидов), заданных ТОП-21 делегатов.

Этот курс используется при вышеуказанных пунктах 3 и 4.

Выплаты за депозит GBG

За хранение 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 - это сумма балансов на момент каждого действия, умноженных на интервалы между действиями (интервалы хранения этих балансов).