SHA256
41 lines
1.6 KiB
Markdown
41 lines
1.6 KiB
Markdown
# CONNECTION блоки (`type=3`, `version=1`)
|
|
|
|
CONNECTION-тип описывает социальные связи и подписки.
|
|
|
|
## Подтипы
|
|
|
|
• `10/11` — `close_friend / unclose_friend` (близкий друг)
|
|
• `20/21` — `contact / uncontact` (контакт)
|
|
• `30/31` — `follow / unfollow` (подписан)
|
|
• `40/41` — `spouse / unspouse` (супруг/супруга)
|
|
• `50/51` — `parent / unparent` (родитель)
|
|
• `52/53` — `child / unchild` (ребёнок)
|
|
• `54/55` — `sibling / unsibling` (брат/сестра)
|
|
• `60/61` — `known_person / unknown_person` (знаю этого человека)
|
|
• `70/71` — `shine_confirmed / shine_unconfirmed` (точно уверен, что сияющий)
|
|
• `74/75` — `shine_seen / shine_unseen` (мало знаком, но видел сияющим)
|
|
|
|
## Общий формат payload
|
|
|
|
- line-поля (`lineCode`, `prevLineNumber`, `prevLineHash32`, `thisLineNumber`)
|
|
- target (`toLogin`, `toBlockGlobalNumber`, `toBlockHash32`)
|
|
|
|
## Бинарный target
|
|
|
|
```text
|
|
[1] toLoginLen (uint8)
|
|
[N] toLogin UTF-8
|
|
[4] toBlockGlobalNumber
|
|
[32] toBlockHash32
|
|
```
|
|
|
|
Имя fork/blockchain в target не хранится.
|
|
|
|
## Правила target
|
|
|
|
- FRIEND/CONTACT обычно указывают на `HEADER` цели (`block 0`).
|
|
- FOLLOW указывает на root канала:
|
|
- `HEADER` для канала `0`;
|
|
- `CREATE_CHANNEL` для пользовательского канала.
|
|
- Для остальных типов связи (`SPOUSE/PARENT/CHILD/SIBLING`) используется тот же target-формат.
|