Dokumentacja formatu NFT (nft.article)

1. Wprowadzenie

Niniejsza dokumentacja opisuje strukturę formatu NFT o nazwie nft.article. Format ten został zaprojektowany do reprezentowania artykułów publikowanych na blockchainie Bitcoin SV jako unikalnych tokenów NFT.

2. Cel formatu

Format NFT (nft.article) pozwala na:

  • Trwałe i niezmienne przechowywanie artykułów na blockchainie.
  • Jednoznaczne wskazanie autorstwa oraz daty publikacji.
  • Integrację artykułów z ekosystemem tokenów NFT (np. marketplace, aukcje).
  • Łatwe odczytywanie, renderowanie oraz składanie artykułów z danych blockchain.

3. Struktura danych NFT

Podstawowa struktura JSON manifestu

Każdy NFT typu nft.article posiada JSON z następującą strukturą:


{
  "type": "nft.article",
  "version": "1.0",
  "title": "Tytuł artykułu",
  "author": "Adres portfela BSV autora",
  "format": "html | markdown | plaintext",
  "encoding": "base64 | plain | encrypted",
  "hash": "SHA256 pełnej treści artykułu",
  "chunks": [
    "txid_chunk1",
    "txid_chunk2",
    "txid_chunkN"
  ],
  "published_at": "ISO 8601 Data publikacji"
}

Opis poszczególnych pól:

  • type (string): Typ NFT, zawsze nft.article.
  • version (string): Wersja formatu, obecnie 1.0.
  • title (string): Tytuł artykułu.
  • author (string): Adres portfela Bitcoin SV autora treści.
  • format (string): Format treści artykułu (html, markdown, plaintext).
  • encoding (string): Metoda kodowania treści (base64, plain, encrypted).
  • hash (string): Hash SHA256 całej oryginalnej treści artykułu (przed kodowaniem).
  • chunks (array): Tablica zawierająca identyfikatory transakcji blockchain (TXID) poszczególnych części artykułu.
  • published_at (string): Data i czas publikacji artykułu (format ISO 8601).

4. Chunks (fragmenty danych)

Artykuły są dzielone na mniejsze fragmenty (chunks), które następnie są zapisywane oddzielnie w blockchainie. Każdy chunk:

  • Jest kodowany zgodnie z wartością pola encoding.
  • Ma długość zalecaną nieprzekraczającą około 7 KB (~7000 bajtów).
  • Ma własny TXID transakcji blockchain.

5. Odtwarzanie treści artykułu

Aby odtworzyć treść artykułu, należy:

  • Pobrać JSON manifest artykułu z blockchain za pomocą manifest_txid.
  • Pobierać po kolei każdy chunk według listy chunks z blockchaina (np. przez BitFS, WhatsOnChain).
  • Połączyć dane chunków w jedną całość.
  • Odkodować dane zgodnie z wartością pola encoding (np. base64).
  • Otrzymaną treść wyświetlić w formacie określonym przez pole format.

6. NFT Token

Każdy artykuł zapisany jako NFT posiada dodatkowo token NFT:


{
  "nft_id": "Unikalny identyfikator NFT",
  "manifest_txid": "TXID manifestu JSON",
  "owner": "Adres BSV aktualnego właściciela NFT",
  "minted_at": "ISO 8601 Data emisji NFT"
}

7. Zastosowanie

Publikacja trwałych, autoryzowanych treści.

Kolekcjonowanie i sprzedaż artykułów jako NFT.

Systemy płatnego dostępu do unikalnych treści.

8. Uwagi końcowe

Format jest otwarty i może być rozszerzany w przyszłości o dodatkowe pola (np. multimedia, komentarze czy dodatkowe podpisy autora). Wszelkie zmiany w formacie powinny skutkować aktualizacją wersji (version).