> For the complete documentation index, see [llms.txt](https://docs.chiliz.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chiliz.com/pl/tworzenie/zaawansowane/praca-z-nft/hosting-nft-na-ipfs.md).

# Hosting NFT na IPFS

Jeśli jeszcze tego nie wiesz, posiadanie NFT nie oznacza, że plik NFT jest przesyłany w niezmienionej postaci na blockchain.\
Zamiast tego NFT odpowiada blokowi blockchain, który zawiera określony token. Token ten przechowuje "wskaźnik" lub link, zwany `tokenURI`, który zawiera adres online do pliku metadanych, a ten z kolei odwołuje się do pliku multimedialnego za pomocą kolejnego URI.

Ze względu na peer-to-peerową naturę blockchainu nie możesz po prostu hostować pliku NFT i jego pliku metadanych na dowolnym serwisie hostingowym. Twój `tokenURI` musi pozostać trwały (lub "niezmienny") i przenośny pomiędzy aplikacjami a marketplace'ami, tak długo jak to możliwe, najlepiej na zawsze.

W tym miejscu na scenę wkracza IPFS.

## **O IPFS**

[IPFS](https://ipfs.tech/), czyli InterPlanetary File System, to zdecentralizowana sieć plików, która służy do hostowania i udostępniania danych w rozproszonych sieciach. Platformy NFT mogą pobierać dane z IPFS zamiast polegać na pojedynczym serwerze, a protokół IPFS sprawia, że wszystkie hostowane pliki "wydają się" lokalne.

{% hint style="success" %}
**Czy muszę uczyć się o IPFS już teraz?**

To zależy od wybranej metody mintowania Twojego NFT:

* Przy użyciu czystego kodu (takiego jak [viem](https://viem.sh/) lub [ethers](https://ethers.org/)):\
  **Tak**, wcześniej potrzebujesz prawidłowego `tokenURI` (np. `ipfs://.../metadata.json`).
* Za pośrednictwem dashboardu takiego jak [thirdweb](https://thirdweb.com/):\
  **Nie**. Przesyłanie do IPFS jest wbudowane. Wciąż możesz wkleić istniejący `ipfs://...`, jeśli masz go w parametrach NFT.
* Przy użyciu większości SDK Web3 (takich jak [Multichain SDK od Rarible](https://docs.rarible.org/reference/getting-started)):\
  **Tak**, będą oczekiwać URI. Niektóre narzędzia mogą pomóc w przesyłaniu, ale nie większość.
  {% endhint %}

Strona IPFS posiada [obszerną stronę o najlepszych praktykach przechowywania NFT](https://docs.ipfs.tech/how-to/best-practices-for-nft-data/#types-of-ipfs-links-and-when-to-use-them).

## Szczegóły przesyłania NFT

Przesyłając swoje NFT, musisz wykonać dwa przesłania do Content Identifier (CID), który IPFS dla Ciebie generuje:

* Sama zawartość, dla której IPFS zwraca adres URL IPFS hostowanego pliku.
* Plik metadanych, który odwołuje się do CID pliku multimedialnego i musi zawierać adres URL IPFS tego pliku.

Oba mają zostać przesłane na IPFS pod tym samym CID.

W idealnym przypadku Twój zestaw narzędzi bierze to na siebie, dzięki czemu nie musisz robić tego wszystkiego ręcznie.

Dla celów informacyjnych, tak wyglądałby minimalny plik `metadata.json`:

```json
{ 
    "name": "Stadium Pass #25456456", 
    "description": "PSG supporter entry ticket", 
    "image": "ipfs:///filename.png",           // for static images only!
    // "animation_url": "ipfs:///filename.mp4" // for video and audio files.
    "attributes": [
    { 
        "trait_type": "Tier", 
        "value": "Gold" 
    }] 
}
```

Aby dowiedzieć się więcej o strukturze metadanych NFT (na przykład dlaczego powinieneś używać `image` dla obrazów i `animation_url` dla filmów), zalecamy zapoznanie się z tym dokumentem od OpenSea:

{% embed url="<https://docs.opensea.io/docs/metadata-standards#metadata-structure>" %}

Uwaga: *Nie powinieneś pisać pliku metadanych od zera!*\
Twój zestaw narzędzi powinien być w stanie wygenerować go za Ciebie.

{% hint style="success" %}
Możesz albo [uruchomić własny node IPFS](https://docs.ipfs.tech/how-to/command-line-quick-start/), albo zapłacić za hosting IPFS, taki jak [Pinata](https://pinata.cloud/), który oferuje darmowy plan cenowy, który może wystarczyć do Twoich potrzeb.

Postępuj zgodnie z [przewodnikiem szybkiego startu Pinata](https://docs.pinata.cloud/quickstart), aby uzyskać swoje dane uwierzytelniające API (składające się z klucza API, sekretu API oraz tokena JWT) oraz domenę swojego Dedicated Gateway (na przykład `blue-genetic-quail-122.mypinata.cloud`).
{% endhint %}

Ponieważ ta dokumentacja nie ma na celu opisania wszystkiego na temat IPFS, zalecamy zagłębienie się w ten temat poprzez wyszukiwania online. Możesz zacząć od tego objaśnienia od Pinata:

{% embed url="<https://docs.pinata.cloud/ipfs-101/how-does-ipfs-work-with-nfts>" %}

... lub od tego wpisu na blogu od thirdweb:

{% embed url="<https://blog.thirdweb.com/guides/securing-pinning-your-nft-with-ipfs/>" %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.chiliz.com/pl/tworzenie/zaawansowane/praca-z-nft/hosting-nft-na-ipfs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
