【IPFSアップローダー】Pinataの使い方をわかりやすく解説! ピン留めやゲートウェイも説明します。

Putoran
作成日2022年11月15日
アイキャッチ画像

分散型ファイルシステムプロトコル「IPFS」にファイルをアップロード・配信・管理できるサービス「Pinata」(ピニャータ)の使い方を解説します。

ファイルアップロードの方法や、ファイルのURL、ピン留め、ゲートウェイについてわかりやすく説明していきます。

Pinataには無料プランもありますので、IPFSを初めて触る方には入り口としてぴったりだと思います。そして有料プランならNFTのプロジェクトを始める方向けのパワフルな機能があります。

それでは始めましょう。

トップページ

ファイルをアップロードする

Pinataのトップページを開きます。

まずはサインアップします。「Sign up」ボタンを押してください。

サインアップ画面

フォームが開きますので、一通り記入します。

下の方には「Builder/Developer」(開発者)か「Creator」(クリエイター)を選ぶ欄がありますので、自分に合う方を選んでください。これは単なるアンケートですので深く考える必要はありません。どちらを選んでもPinataのユーザー体験に影響はありません。

入力し終わったら「Register」ボタンをクリック。

確認コード入力画面

入力したメールアドレスあてに確認コード(Confirmation Code)が書かれたメールが届きますので、確認コードを入力し、「Submit Code」をクリックすればサインアップは完了です。

ホーム画面

ホーム画面です。

早速、画像ファイルをアップロードしてみましょう。「Upload +」ボタンを押します。

Upload +ボタンを押したところ

すると、こんなふうにメニューが出てきます。まずは1つの画像ファイルをアップロードしてみます。「File」を選んでください。

ファイルアップロード

アップロードは簡単3ステップ。(1)ファイルを選んで、(2)ファイルの名前を入力して、(3)アップロードする、それだけで完了します。

それではやってみましょう。まずはアップロードするファイルを選びます。「Select a file」を押してください。

ファイル選択のダイアログボックスが出てきますので、適当なテスト用の画像ファイルを選んでみてください。

ファイル名を設定

ファイルに改めて名前をつけることができます。そのままでも問題ありませんし、よりわかりやすい名前をつけても良いでしょう。

決まったら「Upload」をクリック。

ファイルアップロード中

アップロード中というメッセージが表示されますので、このままウインドウを閉じずに待ちましょう。アップロードするファイルのサイズが大きいほど時間がかかります。

ファイルアップロード完了

アップロードが完了し、ホーム画面のファイル一覧に情報が表示されました(表示されるまでに10〜20秒くらいかかるようですのであわてずに)。

ファイルに「CID」がつけられていることに気がつくと思います。これはコンテンツ識別子と呼ばれるものです。ハッシュアルゴリズムに基づいて生成されるもので、同じコンテンツからは同じCIDが生成され、異なるコンテンツからは異なるCIDが生成されるという特長があります。

CIDがあればコンテンツを一意に識別できます。IPFSのURLにもCIDが含まれていて、アップロードしたコンテンツにアクセスする際にも必要になるわけです。

※CIDにはバージョン0とバージョン1があります。2022年11月時点でPinataのデフォルトはバージョン0です。

ファイルにアクセス

アップロードした画像ファイルにアクセスしてみましょう。

紫色で書かれた、ファイルの名前の部分をクリックしてください。

アップロードした画像を表示

さっきアップロードした画像が表示されると思います(やや重いです)。分散型ファイルシステムからファイルを読み込むことができました。

IPFSのファイルのURLについて

ここで注意したいのがURLです。先ほど筆者が開いた画像のURLは以下のものなのですが、

https://gateway.pinata.cloud/ipfs/QmbbL3Ta5zKFCQccaANkuXBjG9Qq1vy7xtfjWZd5pEDtqu

このURLは、本来のIPFSのURLではなく、Pinataが提供しているパブリックゲートウェイのものです(gateway:出入り口、通路、門)。ドメインが「gateway.pinata.cloud」であるところからわかりますね。このゲートウェイ経由で画像を読み込んだことになります。

本来のIPFSプロトコルのURL(ネイティブURL)はどこかというと、

ipfs://QmbbL3Ta5zKFCQccaANkuXBjG9Qq1vy7xtfjWZd5pEDtqu

です。先頭がhttpsではなくipfsになっていますね。

ただこれだと、ChromeやSafariなどのブラウザではIPFSプロトコルに対応していないためアクセスすることができません。そこをアクセスできるようにするために、ゲートウェイが必要なわけです。

ちなみに、IPFSの開発元であるProtocol Labsもゲートウェイを提供しています。URLは以下になります。アクセスすると同じ画像が表示されます(表示されない場合は、時間をおいて再度試してみてください)。

https://ipfs.io/ipfs/QmbbL3Ta5zKFCQccaANkuXBjG9Qq1vy7xtfjWZd5pEDtqu

PinataやProtocol Labsのパブリックゲートウェイは本番稼働用では無いため、このURLを本番のNFTに設定するのは避けてください。本番のNFTに設定するのは、本来のIPFSプロトコルURL(ipfs://...)か、またはPinataの有料プランで利用できる専用ゲートウェイのURLにしましょう。

ゲートウェイについて、Qiitaにわかりやすい記事がありましたので参考にしてください。

IPFSのゲートウェイについて理解する - Qiita

より詳しく知りたい方は、IPFSのドキュメントを参照してください。

Address IPFS on the Web | IPFS Docs

IPFSのピン留めについて

IPFSにおいて重要な概念としてピン留め(ピンニング)があります。

IPFSにアップロードしたファイルは、そのままでは持続的に保持されません。保持するための方法の1つがピン留めです。ピン留めされていないものは、IPFSノードによる定期的なガベージコレクション(ゴミ回収)によって削除されてしまいます。ピン留めし続けていれば持続的にファイルが保持されます。

Pinataは、そのピン留めを自動的に行ってくれます。これがPinataの大きなメリットと言えます。

ピン留めできるファイルの数はPinataのプランによって異なり、無料のFREEプランだと100個までとなっています。有料プランならより多くのファイルをピン留めすることができ、PICNICプランなら2万個、FIESTAプランなら10万個、CARNIVALプランなら100万個までOKです。

ファイル情報を編集する

Actionメニュー

ファイル一覧で、右の方に「Actions」の列があります。

情報を編集したいファイルの「More」をクリックすると、メニューが出てきますので、「Edit Details」を選択してください。

ファイル詳細編集

編集のダイアログボックスが出てきます。

ここでは、ファイルの名前を変更することができるほか、Key/Value(キーと値のペア)のデータを追加することができるようになっています。

フォルダごとアップロードする

Upload +ボタンを押してフォルダをアップロード

では次に、フォルダをアップロードしてみましょう。

「Upload +」ボタンを押し、出てくるメニューから今度は「Folder」を選択します。

フォルダをアップロード

フォルダアップロードのダイアログボックスが出てきます。「Select」ボタンを押して、アップロードしたいフォルダを選択してください。

ブラウザによるアラート

フォルダをアップロードしようとすると、ブラウザによるアラートが出るようです。「アップロード」をクリックして先に進みましょう。

フォルダ名の設定

フォルダの名前を決めて、「Upload」ボタンをクリック。

フォルダアップロード中

アップロード中...

フォルダアップロード完了

しばらくするとアップロードが完了し、リストに表示されました。

確認してみましょう。フォルダ名の部分をクリックします。

IPFSフォルダ

すると、このような画面が表示されます。

IPFSのディレクトリにアクセスした場合は、そのディレクトリの中身を一覧表示してくれます。気が利いていますね。デザインもシンプル。

もちろん各ファイルの名前をクリックすれば、そのファイルを開くことができます。

IPFS CID ViewerでCIDをチェック

IPFS CID Viewer

上部メニューにある「IPFS CID Verifier」は、ファイルをアップロードするとCIDを求めてくれるツールです。IPFSには追加されません。

同じファイルからは同じCIDが生成されることを確認できます。ファイルがすでにアップロードされていないかチェックするのにも使えそうですね。

アカウント設定

アカウントメニュー

左上の人のアイコンをクリックすると、アカウント関係のメニューが出てきます。

「Settings」を選択します。

プロフィール編集画面

すると、プロフィール編集画面が開きます。

大事なのは「Multi-Factor Authentication」(多要素認証)ですね。Google Authenticationアプリ等によるワンタイムパスワード認証の設定ができます。NFTプロジェクトで利用するときなど、重要なデータを扱うのであれば必ず設定しておきたいです。

他には、メールアドレスやパスワードの変更などがここで行えます。

請求画面、プラン選択

請求画面

先ほどのメニューから「Billing」を選択すると、請求に関する設定の画面が表示されます。

「Current Plan」のところには現在の契約プランが書かれており、その下には現在の利用状況を一通り確認することができます。

その右側の「Payment Info」は支払い情報です。

また、下の方にスクロールするとプラン選択ができます。

有料プランで開放される機能

プラン選択画面

これは、プラン選択の部分をGoogle翻訳で日本語表示したものです。

有料プランにすると多くの便利な機能が開放されます。

  • 専用ゲートウェイ

帯域が確保された専用のゲートウェイを利用できます。転送速度も高速。カスタムドメインも設定できます。

  • サブマリン

ロックされたコンテンツを作成できる機能です。NFTの所有や、位置情報、料金支払い、SNSでのリツイートなど、さまざまなロック解除メカニズムを選ぶことができます。

  • 画像・動画の最適化

出力のサイズや形式を指定することで、品質を保ちつつデータ転送量を減らして最適化します。

例えば、IPFSにある大きなサイズの画像を自サイトでサムネイル表示したい場合を考えてみます。表示のたびに毎回フルサイズを読み込んでいてはロードが非常に遅くなってしまいますが、最適化をほどこすことでサムネイルに適したサイズで読み込みを行うことができるようになり、ロードを高速化することができます。

  • 短縮リンク、リッチプレビュー

SNSで共有しやすい短いURLを利用できます。コンテンツのプレビュー表示も行えます。

ピン留めできるファイル数やストレージ容量も増えますし、NFTプロジェクトでPinataを使うなら有料プランは必須レベルだと思います。

まとめ

以上、Pinataの使い方を解説しました。

公式のドキュメント公式ブログにあるチュートリアルも割とわかりやすいので、一通り目を通しておくことをおすすめします。分散型ファイルシステムをぜひ体験してみてください。