Files
SHiNE-server/docs/API/20_Get_My_Blockchain_API.md
T

2.0 KiB

GetMyBlockchain API

GetMyBlockchain — авторизованное постраничное чтение только текущей активной версии собственного блокчейна. API используется постоянным экраном «Мой блокчейн» и мастером смены ключей для выбора последнего доверенного блока.

Login и активный blockchainName сервер определяет из авторизованной сессии/current PDA; клиент не может запросить этим методом чужую цепочку.

Request

{
  "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-механизмом.