# NFT’nizi IPFS’te barındırma

Henüz bilmiyorsanız, bir NFT'ye sahip olmak, NFT dosyasının olduğu gibi blokzincire yüklenmiş olduğu anlamına gelmez. \
Bunun yerine, bir NFT belirli bir token içeren bir blokzinciri bloğuna karşılık gelir. Bu token, `tokenURI`adlı bir "işaretçi" veya bağlantı depolar; bu bağlantı, medya dosyasını başka bir URI kullanarak referans veren bir metadata dosyasının çevrimiçi adresini içerir.

Blokzincirin eşler arası doğası nedeniyle, NFT dosyanızı ve metadata dosyanızı herhangi bir web barındırma hizmetinde barındıramazsınız. Sizin `tokenURI` mümkün olduğunca, mümkünse sonsuza dek kalıcı (veya "değiştirilemez") ve uygulamalar ve pazar yerleri arasında taşınabilir olmalıdır.

İşte burada IPFS devreye girer.

## **IPFS Hakkında**

[IPFS](https://ipfs.tech/), InterPlanetary File System (Gezegenlerarası Dosya Sistemi) için, dağıtılmış ağlar arasında veri barındırma ve paylaşma amacı güden merkeziyetsiz bir dosya ağıdır. NFT platformları tek bir sunucuya güvenmek yerine verileri IPFS'ten alabilir ve IPFS protokolü tüm barındırılan dosyaların yerelmiş gibi hissettirmesini sağlar.

{% hint style="success" %}
**Şu anda IPFS öğrenmem gerekiyor mu?**

Bu, NFT'nizi basmak için seçtiğiniz yönteme bağlıdır:

* Vanilla kod (örneğin [viem](https://viem.sh/) veya [ethers](https://ethers.org/)): \
  **Evet**) kullanıyorsanız, geçerli bir `tokenURI` (ör.  `ipfs://.../metadata.json`) önceden olması gerekir.
* Bir panodan (dashboard) (örneğin [thirdweb](https://thirdweb.com/): \
  **Hayır**). IPFS'e yükleme yerleşiktir. NFT parametrelerinde mevcut bir `ipfs://...` varsa yine de yapıştırabilirsiniz.
* Çoğu Web3 SDK'sını kullanırken (örneğin [Rarible'in Multichain SDK'sı](https://docs.rarible.org/reference/getting-started)): \
  **Evet**), bir URI bekleyeceklerdir. Bazı araçlar yüklemelere yardımcı olabilir, ancak çoğu yardımcı olmaz.
  {% endhint %}

IPFS web sitesinde [NFT Depolama en iyi uygulamaları hakkında kapsamlı bir sayfa bulunmaktadır](https://docs.ipfs.tech/how-to/best-practices-for-nft-data/#types-of-ipfs-links-and-when-to-use-them).

## NFT yüklemesinin ayrıntıları

NFT'nizi yüklerken, IPFS'in sizin için ürettiği İçerik Tanımlayıcıya (CID) iki yükleme yapmanız gerekir:

* Barındırılan dosya için IPFS'in size döndüğü bir IPFS URL'si olan içeriğin kendisi.
* Medya dosyasının CID'sine referans veren ve dosya için IPFS URL'sini içermek zorunda olan metadata dosyası.

Her ikisi de aynı CID altında IPFS'e yüklenmelidir.&#x20;

İdeal olarak, araç setiniz bunu sizin adınıza halleder, böylece her şeyi elle yapmanız gerekmez.

Bilgi amaçlı olarak, işte minimal bir `metadata.json` dosyasının nasıl görüneceği:&#x20;

```json
{ 
    "name": "Stadium Pass #25456456", 
    "description": "PSG destekçi giriş bileti", 
    "image": "ipfs:///filename.png",           // sadece statik görüntüler için!
    // "animation_url": "ipfs:///filename.mp4" // video ve ses dosyaları için.
    "attributes": [
    { 
        "trait_type": "Tier", 
        "value": "Gold" 
    }] 
}
```

NFT metadata yapısı hakkında daha fazla bilgi edinmek (örneğin, görüntüler için neden `image` kullanmanız ve `animation_url`  videolar için kullanmanız gerektiği gibi) için, bu OpenSea belgesini okumanızı tavsiye ederiz:

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

Not: *Metadata dosyasını baştan yazmanız beklenmemektedir!* \
Araç setiniz bunu sizin için oluşturabilmelidir.

{% hint style="success" %}
Ya kendi IPFS düğümünüzü [çalıştırabilir](https://docs.ipfs.tech/how-to/command-line-quick-start/), ya da [Pinata](https://pinata.cloud/)gibi bir IPFS barındırıcısına ödeme yapabilirsiniz; Pinata ücretsiz bir fiyat planı sunar ve ihtiyaçlarınız için yeterli olabilir.&#x20;

Takip edin [Pinata'nın hızlı başlangıç kılavuzunu](https://docs.pinata.cloud/quickstart) API kimlik bilgilerinizi (bir API anahtarı, bir API gizli anahtarı ve bir JWT belirtecinden oluşan) ve Özel Ağ Geçidi alan adınızı (örneğin, `blue-genetic-quail-122.mypinata.cloud`).
{% endhint %}

Bu dokümantasyon IPFS hakkında her şeyi anlatmayı amaçlamadığından, konuya çevrimiçi aramalarla dalmanızı tavsiye ederiz. Bu Pinata açıklayıcıyla başlayabilirsiniz:

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

... veya thirdweb'in bu blog yazısıyla:

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