Skip to content

奖励操作

奖励是主要的社交激励机制。账户消耗能量,从奖励池中直接向另一账户授予 SHARES。奖励大小与发起者的能量消耗和 SHARES 质押量成比例。

能量: 以基点 0–10000 存储;每 24 小时恢复至 100%(CHAIN_ENERGY_REGENERATION_SECONDS = 86400)。


award_operation(ID 47)

授权: initiatorregular

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_operationreceiver 触发。
  • 虚拟操作 benefactor_award_operation 为每个受益人触发。

fixed_award_operation(ID 60)

授权: initiatorregular

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 相同。

参见:数据类型操作概述虚拟操作