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:
- Manifest JSON
/.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”).
- Dane w TSV (UTF-8)
/.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 BSVZasady:
- 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
updatedprzy każdej zmianie i doliczajcount.
Przykładowe pobranie
curl -fsSL https://twojadomena/.well-known/teranode/index.json | jq .
curl -fsSL https://twojadomena/.well-known/teranode/nft.tsv | headSkalowanie 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(negocjacjaAccept-Encoding).
Jak inni mogą z tego korzystać?
- Pobierają
index.json. - Wczytują wskazane
filesorazshards. - Dla każdego rekordu mają natychmiast:
txid do podglądu w eksploratorze, ludzki title do wyświetlenia listy/rezultatów wyszukiwania.
- Mogą zbudować własny indeks i łączyć wiele domen w jedno źródło.
20.10.2025, 15:37:00• skopiowano