Skip to content

Операции наград

Награды — основной механизм социального вознаграждения. Аккаунт тратит энергию, чтобы наградить SHARES другого аккаунта из пула вознаграждений. Размер награды пропорционален расходу энергии инициатора и его стейку SHARES.

Энергия: хранится в базисных пунктах 0–10000; восстанавливается до 100% за 24 часа (CHAIN_ENERGY_REGENERATION_SECONDS = 86400).


award_operation (ID 47)

Авторизация: regular initiator

Награждает receiver SHARES, тратя указанный процент энергии. Фактический объём SHARES определяется стейком инициатора и глубиной пула.

ПолеТипОписание
initiatoraccount_name_typeАккаунт, дающий награду
receiveraccount_name_typeАккаунт, получающий награду
energyuint16_tРасходуемая энергия в базисных пунктах (1–10000)
custom_sequenceuint64_tПорядковый номер, задаваемый приложением (может быть 0)
memostringОпциональное сообщение или причина
beneficiariesvector<beneficiary_route_type>Опциональные бенефициары, получающие долю награды
json
[47, {
  "initiator": "alice",
  "receiver": "bob",
  "energy": 1000,
  "custom_sequence": 0,
  "memo": "great article!",
  "beneficiaries": []
}]

С бенефициарами:

json
[47, {
  "initiator": "alice",
  "receiver": "bob",
  "energy": 1000,
  "custom_sequence": 1,
  "memo": "",
  "beneficiaries": [
    {"account": "charlie", "weight": 2000}
  ]
}]
  • energy = 10000 расходует 100% текущей энергии.
  • При наличии бенефициаров receiver получает (10000 − сумма_весов) / 10000 от награды.
  • Сумма весов бенефициаров должна быть ≤ 10000; бенефициары должны быть отсортированы по имени аккаунта по возрастанию.
  • Виртуальная операция receive_award_operation срабатывает для receiver.
  • Виртуальная операция benefactor_award_operation срабатывает для каждого бенефициара.

fixed_award_operation (ID 60)

Авторизация: regular initiator

Награждает receiver фиксированным количеством SHARES. Энергия расходуется пропорционально желаемому размеру награды; max_energy ограничивает расход.

ПолеТипОписание
initiatoraccount_name_typeАккаунт, дающий награду
receiveraccount_name_typeАккаунт, получающий награду
reward_amountasset (SHARES)Фиксированное количество SHARES для награждения
max_energyuint16_tМаксимально расходуемая энергия (базисные пункты; 0 = без ограничения)
custom_sequenceuint64_tПорядковый номер, задаваемый приложением
memostringОпциональное сообщение или причина
beneficiariesvector<beneficiary_route_type>Опциональные бенефициары
json
[60, {
  "initiator": "alice",
  "receiver": "bob",
  "reward_amount": "10.000000 SHARES",
  "max_energy": 5000,
  "custom_sequence": 1,
  "memo": "fixed reward",
  "beneficiaries": [
    {"account": "charlie", "weight": 1000}
  ]
}]
  • reward_amount.symbol должен быть SHARES.
  • max_energy = 0 означает отсутствие ограничения на энергию — операция расходует столько энергии, сколько необходимо.
  • Фактический расход энергии зависит от стейка инициатора и текущей глубины пула вознаграждений.
  • Правила для бенефициаров идентичны award_operation.

См. также: Типы данных, Обзор операций, Виртуальные операции.