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, zawszenft.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
).