Udostępnianie publicznego indeksu NFT (NFTI/1.0)

Prosty sposób na publikację listy **TXID → tytuł** dla treści zapisanych jako `nft.article`, `nft.image` i `nft.video`, aby inni mogli je łatwo odnaleźć i zindeksować.

Dlaczego to jest potrzebne?

W łańcuchu znajduje się ogrom danych, a manifesty nft.* to tylko ułamek całości. Publiczny, mały indeks obok serwisu pozwala:

  • szybko wykryć istniejące publikacje,
  • budować wyszukiwarki i mirrory,
  • nie obciążać łańcucha dodatkowymi metadanymi.

Format indeksu – NFTI/1.0 (NFT Index)

Publikujemy dwa pliki w katalogu well-known:

  1. Manifest JSON
  2. /.well-known/teranode/index.json

{
  "version": "NFTI/1.0",
  "publisher": "teranode.pl",
  "updated": "2025-10-20T16:30:42.402Z",
  "count": 4,
  "files": [
    {
      "path": "./.well-known/teranode/nft.tsv",
      "type": "tsv",
      "columns": ["txid", "title"]
    }
  ],
  "shards": []
}
  • count – orientacyjna liczba rekordów (może być przybliżona).
  • files – lista plików z danymi; na start jeden TSV.
  • shards – opcjonalne partycje (patrz rozdział „Skalowanie”).
  1. Dane w TSV (UTF-8)
  2. /.well-known/teranode/nft.tsv

# NFTI/1.0 – TSV UTF-8
# publisher=teranode.pl
# updated=2025-10-20T16:30:42.402Z
# columns: txid<TAB>title
70c36d3a482bdc7c60ef0fd5bb90a5beaefe68824025d1947acc15ad1a14b284  Whitepaper: NFT.article – Innowacyjny standard NFT dla treści cyfrowych
7334ef79f809ad4d6fc31d551ae8006a1f780a15454810dec46a18f7a932d723  NFT.article – Innowacyjny standard NFT dla treści pisemnych
bd2b5cc9a8159b86a0e2f367b821a3b7848489194f7bd79e99e91b04ae4ddf53  NFT.image – Standard osadzania multimedialnych obrazów w NFT
b97367cca7785225bc22b6ac1facd2cb436f8f751b0af8417b7cb73608d9f3e0  NFT.video – Modułowy standard dla wideo w blockchainie BSV

Zasady:

  • Jedna linia = jeden rekord: txid<TAB>title.
  • Tytuł bez tabów i nowych linii (zamieniamy je na spacje).
  • Linijki zaczynające się od # to komentarze/nagłówek (można pominąć przy imporcie).

Jak to wystawić (minimum)

  • Umieść powyższe pliki pod ścieżkami:

/.well-known/teranode/index.json /.well-known/teranode/nft.tsv

  • W serwerze HTTP ustaw nagłówki:

Content-Type: application/json; charset=utf-8 (dla index.json) Content-Type: text/tab-separated-values; charset=utf-8 (dla nft.tsv) * Cache-Control: public, max-age=60, s-maxage=300 (bezpieczny caching)

  • Aktualizuj updated przy każdej zmianie i doliczaj count.

Przykładowe pobranie

curl -fsSL https://twojadomena/.well-known/teranode/index.json | jq .
curl -fsSL https://twojadomena/.well-known/teranode/nft.tsv | head

Skalowanie do 1k / 1M rekordów

  • Streaming – plik generowany strumieniowo z bazy (bez trzymania całości w pamięci).
  • Sharding – gdy TSV rośnie (np. >50–100 MB), rozbijamy na partycje:

* Dodaj wpisy w shards, np.:

"shards": [
      {"path":"./.well-known/teranode/nft-0000-0fff.tsv","type":"tsv"},
      {"path":"./.well-known/teranode/nft-1000-1fff.tsv","type":"tsv"}
    ]

* Strategia podziału dowolna (np. zakresy prefiksów TXID).

  • Kompresja – serwer może serwować gzip/br (negocjacja Accept-Encoding).

Jak inni mogą z tego korzystać?

  1. Pobierają index.json.
  2. Wczytują wskazane files oraz shards.
  3. Dla każdego rekordu mają natychmiast:

txid do podglądu w eksploratorze, ludzki title do wyświetlenia listy/rezultatów wyszukiwania.

  1. Mogą zbudować własny indeks i łączyć wiele domen w jedno źródło.

20.10.2025, 15:37:00 skopiowano

0 sat skopiowano
+00