Files
SHiNE-server/docs/Blockchain/15_STATUS_ACTION_Blocks.md
T

2.3 KiB

STATUS_ACTION блоки (type=5, version=1)

STATUS_ACTION хранит статусные действия пользователя по отношению к конкретному материалу.

Подтипы

  1. subType=10STATUS_DONE_ONCE

    • выполнил / прошёл один раз.
  2. subType=20STATUS_INTERESTED

    • заинтересовался материалом.
  3. subType=30STATUS_STARTED

    • начал.
  4. subType=40STATUS_IN_STUDY

    • находится в процессе полноценного изучения.
  5. subType=50STATUS_COMPLETED

    • завершил.
  6. subType=60STATUS_ABANDONED

    • бросил.
  7. subType=70STATUS_LEARNED

    • выучил упражнение / комплекс.
  8. subType=80STATUS_CONFIRMED

    • подтвердил чужой status-блок.

Формат body

Все STATUS_ACTION используют один и тот же бинарный body-формат:

[1]  toBlockchainNameLen (uint8)
[N]  toBlockchainName UTF-8
[4]  toBlockGlobalNumber
[32] toBlockHash32
[2]  textLenBytes (uint16)
[M]  text UTF-8

Где:

  • toBlockchainName — блокчейн, в котором находится целевой материал;
  • toBlockGlobalNumber — номер целевого блока;
  • toBlockHash32 — хэш целевого блока;
  • text — опциональное пояснение пользователя к статусу.

Правила

  • Каждый STATUS_ACTION всегда является target-based сообщением.
  • STATUS_ACTION не является line-based сообщением канала.
  • Текст может быть пустым: основной смысл задаётся самим subType.
  • Базовые статусы пользователь ставит сам за себя.
  • STATUS_CONFIRMED ставится другим человеком на конкретный status-блок.

Что не поддерживается

  • Отдельного EDIT для STATUS_ACTION нет.
  • Если нужно изменить смысл статуса, пишется новое статусное событие.