SHA256
47 lines
2.0 KiB
Markdown
47 lines
2.0 KiB
Markdown
# GetMyBlockchain API
|
|
|
|
`GetMyBlockchain` — авторизованное постраничное чтение **только текущей активной версии собственного блокчейна**. API используется постоянным экраном «Мой блокчейн» и мастером смены ключей для выбора последнего доверенного блока.
|
|
|
|
Login и активный `blockchainName` сервер определяет из авторизованной сессии/current PDA; клиент не может запросить этим методом чужую цепочку.
|
|
|
|
## Request
|
|
|
|
```json
|
|
{
|
|
"op": "GetMyBlockchain",
|
|
"requestId": "my-bch-1",
|
|
"payload": {
|
|
"beforeBlock": 500,
|
|
"limit": 50,
|
|
"includeBlockBytes": false
|
|
}
|
|
}
|
|
```
|
|
|
|
Поля:
|
|
|
|
- `beforeBlock` — необязательный номер верхней границы страницы; если отсутствует, чтение начинается с current tip;
|
|
- `limit` — `1..100`, default `50`;
|
|
- `includeBlockBytes` — при `true` дополнительно вернуть полный ANS-104 DataItem в Base64.
|
|
|
|
## Response
|
|
|
|
Payload содержит:
|
|
|
|
- `login`;
|
|
- `blockchainName`;
|
|
- `tipBlockNumber` / `tipBlockHash`;
|
|
- `nextBeforeBlock` для следующей страницы;
|
|
- `blocks[]` в порядке от новых к старым.
|
|
|
|
Каждый элемент `blocks[]` содержит:
|
|
|
|
- `blockNumber`;
|
|
- `blockHash` / `prevBlockHash`;
|
|
- `timestampMs`;
|
|
- `msgType` / `msgSubType` / `msgVersion`;
|
|
- для target-блоков: `toLogin + toBlockNumber + toBlockHash`;
|
|
- `blockBytesB64`, только если запрошен `includeBlockBytes=true`.
|
|
|
|
После fork API показывает только новую активную ветку PostgreSQL. Исторические fork при необходимости восстанавливаются из Arweave/PDA history отдельным будущим viewer-механизмом.
|