Операции наград
Награды — основной механизм социального вознаграждения. Аккаунт тратит энергию, чтобы наградить SHARES другого аккаунта из пула вознаграждений. Размер награды пропорционален расходу энергии инициатора и его стейку SHARES.
Энергия: хранится в базисных пунктах 0–10000; восстанавливается до 100% за 24 часа (CHAIN_ENERGY_REGENERATION_SECONDS = 86400).
award_operation (ID 47)
Авторизация: regular initiator
Награждает receiver SHARES, тратя указанный процент энергии. Фактический объём SHARES определяется стейком инициатора и глубиной пула.
| Поле | Тип | Описание |
|---|---|---|
initiator | account_name_type | Аккаунт, дающий награду |
receiver | account_name_type | Аккаунт, получающий награду |
energy | uint16_t | Расходуемая энергия в базисных пунктах (1–10000) |
custom_sequence | uint64_t | Порядковый номер, задаваемый приложением (может быть 0) |
memo | string | Опциональное сообщение или причина |
beneficiaries | vector<beneficiary_route_type> | Опциональные бенефициары, получающие долю награды |
[47, {
"initiator": "alice",
"receiver": "bob",
"energy": 1000,
"custom_sequence": 0,
"memo": "great article!",
"beneficiaries": []
}]С бенефициарами:
[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 ограничивает расход.
| Поле | Тип | Описание |
|---|---|---|
initiator | account_name_type | Аккаунт, дающий награду |
receiver | account_name_type | Аккаунт, получающий награду |
reward_amount | asset (SHARES) | Фиксированное количество SHARES для награждения |
max_energy | uint16_t | Максимально расходуемая энергия (базисные пункты; 0 = без ограничения) |
custom_sequence | uint64_t | Порядковый номер, задаваемый приложением |
memo | string | Опциональное сообщение или причина |
beneficiaries | vector<beneficiary_route_type> | Опциональные бенефициары |
[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.
См. также: Типы данных, Обзор операций, Виртуальные операции.