TAŇBA-OOH Әзірлеушілерге

Latest public-ledger days

GET /v1/ledger-days

https://verify.tanba-ooh.kz/v1/ledger-days

Анықтамалықтың техникалық мәтіні ағылшын тілінде жазылған.

The newest 30 days, newest first. For each anchored day the platform computes a Merkle root over the approvals issued and revoked that day and a digest, SHA-256 of the anchor body hash followed by the root, and has the digest timestamped in Bitcoin through OpenTimestamps. status is pending until a Bitcoin block attestation is in the proof, then pending_check until the platform has compared the value the proof commits to with the merkle root in the header of that block, read from two independent block explorers, and anchored with block_height only after that comparison succeeded. Served on the verify and app hosts, cached for 60 seconds.

Аутентификация

Қажет емес. Шақыру ашық.

Жауаптар

200 The days.

application/json

АтауыТүріМіндеттіСипаттамаМысал
itemsarray of LedgerDayItemиәThe days, newest first.
items[].daystring (date)иәThe Asia/Almaty day the ledger entry covers."2026-10-05"
items[].leaf_countintegerиәNumber of approvals issued and revoked that day.14
items[].merkle_rootstringиәHex SHA-256 root over the day's leaves; SHA-256 of the empty string when the day has none."53f8fe42a83fc01075e856d385cea164e06b7124d4c76b3a498e39de98d7168b"
items[].digeststringиәHex SHA-256 of the anchor body hash followed by the Merkle root; this is what is timestamped."44eeee2dfc054adad906be43d8d227a8052c19e5080b0ed64dc572fad9ee8f46"
items[].statusstringиәHow far the digest has been anchored in Bitcoin. pending, pending_check, anchored
items[].block_heightintegerBitcoin block of the attestation, present only when anchored: after its header was checked against the proof.905432
items[].inputs_urlstringиәAddress of the inputs file of the day."/v1/ledger-days/2026-10-05"
items[].ots_urlstringPresent once the digest has been submitted to the calendars."/v1/ledger-days/2026-10-05/proof.ots"

Мысал

{
  "items": [
    {
      "day": "2026-10-05",
      "leaf_count": 14,
      "merkle_root": "53f8fe42a83fc01075e856d385cea164e06b7124d4c76b3a498e39de98d7168b",
      "digest": "44eeee2dfc054adad906be43d8d227a8052c19e5080b0ed64dc572fad9ee8f46",
      "status": "pending",
      "block_height": 905432,
      "inputs_url": "/v1/ledger-days/2026-10-05",
      "ots_url": "/v1/ledger-days/2026-10-05/proof.ots"
    }
  ]
}

Қателер

Қателер problem құжаты (application/problem+json) түрінде, тұрақты code өрісімен келеді.

МәртебесіМағынасы
429Rate limit; see Retry-After.

Код мысалдары

curl

curl 'https://verify.tanba-ooh.kz/v1/ledger-days'
Python
import requests

response = requests.get(
    "https://verify.tanba-ooh.kz/v1/ledger-days",
)
print(response.status_code, response.text)
Go
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, err := http.NewRequest("GET", "https://verify.tanba-ooh.kz/v1/ledger-days", nil)
	if err != nil {
		panic(err)
	}
	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()
	data, _ := io.ReadAll(resp.Body)
	fmt.Println(resp.Status, string(data))
}