分散型ストレージサービスのWeb3.Storageのクイックスタートを実施してファイルを保存してみる

2022.06.23

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Web3.Storageは、分散型ストレージをシンプルに利用できるようにしていくれているサービスです。

APIトークンとデータだけで利用できるようになる、Filecoinの経済モデル(※参考欄にリンク)に支えられており、パブリックIPFSネットワークを介してユーザーがデータにアクセスできる、無料で利用できる と言った特徴があります。

ほとんどの分散型ストレージサービスでは、データを特定のフォーマットにコンパイルし、データをホストするストレージプロバイダーを見つけ、ストレージプロバイダーに支払うために暗号通貨を購入し、インターネットを介してデータを送信する必要があります

上記のように分散型ストレージサービスを使用するには大変だったことをWeb3.Storageを使うことによって解決できるよ とされています。 開発者にとってもありがたいとか。

現在(2022/06)、無料で利用できるのは1アカウントあたり1TiBとなっていて、1TiB以上が必要な場合はWeb3.Storageとのヒアリングをもとにして制限を引き上げることができます。

※ 将来的にはユーザーがFilecoinを賭けてストレージ制限を増やすことができるモデルに移行するとのこと

価格設定

クイックスタートを試す

アカウント作成、APIトークン取得、ファイルのアップロード、ダウンロードを試していきます。

アカウント作成

こちらのページからサインアップを行い作成可能です。

メールアドレスまたはGitHubを使用して無料でサインアップできます。

今回はメールアドレスでサインアップしてみます

メアドを入力して、サインアップボタンを押すと、入力したメアドにログインリンクを含む確認メールが送られてきます。

Log in to web3.storageをクリックすると自動でログインされます(アカウント作成完了)。

ログイン後の画面

ログイン後は、現在のストレージ使用量、アップロードファイル一覧などが確認できる画面に遷移します。

アカウントメニューとして他に、API TOken作成や参照、ストレージ上限アップリクエスト、Web3.Storageのサービス状態を確認できるページへのリンクなどがありますね。

APIトークンを取得

APIトークンはWebサイトを使用せずにWeb3.Storageサービスを操作するために必要となります。

保存されたファイルをアプリケーションやサービスに直接組み込む場合は作成しておきます。

メニューからAPIトークンの作成をクリックします。

トークンの名前を入力し、矢印のボタンを押すと作成されます。

このように作成したトークンが表示されるはずです。

Tokenフィールドにある値を右にあるコピーのアイコンをクリックするとクリップボードにコピーされるので、それを安全な場所に保存しておきます。

このAPIトークンはアカウントごとに固有なので、APIトークンを他の人と共有することは避けましょう。

ファイルのアップロードと取得

APIトークンを使用したファイル操作をプログラミングで行う、または

Web3.Storage Webサイトのアカウントページから直接ファイルを操作する 

ができますが、今回はWebサイトのアカウントページで試します。

※ プログラミングに関しては別記事にて行います。

ファイルのアップロード

アカウントページにファイルをアップロードするためのリンクがあるのでクリックしうます。

このようにファイルアップロードのモーダルが立ち上がるので、アップロードしたいファイルをドラッグ&ドロップするだけで大丈夫です。

アップロードプロセスが完了すると、一覧に表示されるようになります。

ファイルにはCID(コンテンツ識別子)というキーがふられます。 個々のキーはデータ自体の一意の署名であり、キーがコンテンツと一致し、コンテンツが変更されていないことを確認できます。

同じファイル名でデータの中身が変更されていた場合、CIDがあらたにふられます。

データを取得するときもこのCIDを使います。

ファイル取得

https://dweb.link/ipfs/<> にアクセスすると、ファイルへのリンクが表示されます

※ <>をアップロードしたファイルのCIDに置き換えます

ファイルのリンクをクリックすると、ブラウザで表示されます。

注意しないといけないこと

Web3.Storageにアップロードされたすべてのデータは、正しいCIDを使用してそれを要求する誰にでも利用可能なので Web3.Storageを使用して、個人情報や機密情報を暗号化されていない状態で保存することはNGです。

Web3.Storageサイトのファイルページからファイルを削除すると、アカウントのファイル一覧から削除されますが、 分散型ストレージネットワーク上のノードがデータのコピーを無期限に保持することを防ぐものではありません。 将来的に永久に削除する必要があるデータには、Web3.Storageを使用してはいけません。

参考