コンセンサス・ベイスブロックチェーン技術のポータルサイト。ビジネスに関する記事や技術メモ、最新のSNSでシェアされたニュースも見ることができます。IPfSのネーミングサービス「IPNS」を利用する今回の内容とゴールIPFSの大まかな仕組みを理解し、実際にいくつかのコマンドを使いながらIPFSへのファイルのアップロード/ダウンロードなどの操作を学びます。必要となる前提知識P2Pネットワーク、ブロックチェーンの基礎的知識が必要となります。今回までの記事をご覧になっていない方は、ぜひ下記に目を通しておいてください。分散型ファイルストレージの概要http://block-chain.jp/blockchain_study_salon_dojo/what-is-decentralized-distributed-storage/第2回:IPFSとSwarmとは何か?http://block-chain.jp/blockchain_study_salon_dojo/what-is-ipfs-and-swarm/IPFSの環境構築IPFSの実装には、JS版のjs-ipfsとGo版のgo-ipfsの2種類が存在しています。どちらもembeddedが可能で各言語(JS、Go)で拡張ができます。この章ではGo版のgo-ipfsを使い、コマンドラインからの簡単な使い方を説明したいと思います。go-ipfsをダウンロードするまず、こちらのURLからgo-ipfsをダウンロードしてください。(右上のボタンから適切なパッケージを取得できなかった場合は、お使いのOSに対応したバイナリを選択してダウンロードしてください。Linuxの場合まずはダウンロードしたgo-ipfsのファイルを解凍しましょう。必要であれば、解凍したgo-ipfsのファイルを任意の作業用ディレクトリに移動してください。次に、go-ipfsディレクトリに移動し、インストール用のスクリプト(install.sh)を走らせます。./install.shinstall.shを実行したら、ipfsが使えるようになっているはずです。上手くいったかどうか、helpコマンドを使って確かめてみましょう。filesystem.”というメッセージに続き、色々とコマンド一覧が表示されていれば成功です。解凍したgo-ipfsのフォルダ内にある”ipfs.exe”を任意の作業用ディレクトリに移動してください。filesystem.”というメッセージに続き、色々とコマンド一覧が表示されていれば成功です。初期化インストールが完了したら、一番最初に行うことはIPFSを動作させるための初期化です。このコマンドを実行することで、$HONE/.ipfs(~/.ipfs)にフォルダやconfig、datasotere、keystoreなどのファイルが自動生成されます。initdaemonの起動IPFSネットワークにPeerとして参加するためには、daemonコマンドでdaemonを起動させます。プロセスIDを指定してkillするなどで対応するようです。コンテンツの参照IPFSにアップロードされているコンテンツを参照するには、catコマンドを使います。IPFSのREAMDMEファイルもIPFSの1つのオブジェクトとしてアップロードされていますので、daemonを通じて確認できます。下記のreadmeファイルのハッシュ値はこの例のものと異なる場合があります。enter:”というメッセージに続いて記載されているコマンドとアドレスを利用してください。./security-notesreadmeの表示内容から、例えば./helpの内容を見るには、次のようにアクセスします。/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/helpコンテンツの登録(アップロード)IPFSにコンテンツをアップロードするには、addコマンドを使います。アップロード用のファイルを用意しましょう。ここでは、ローカルPCに以下のようなディレクトリ構造(/demo以下)を用意します。main.htmldemoというディレクトリ配下を再帰的に登録するには、addコマンドに-rオプションをつけます。(コンテンツ単体であれば、addコマンドだけでアップロードできます)レスポンスにはハッシュ化されたディレクトリやファイルの値、ハッシュ化前の元の名前が返ります。demo分かりやすくするために、ハッシュ値をさきほどのディレクトリ構造にあてはめてみます。QmYdgfWR1wDRyD8E6kdd1R5JPjJ6QCG4ww1Y487GmBLx2ydemo/index.htmlにブラウザからアクセスしてみます。Gateway経由での2通りのアクセスが可能です。(Gateway経由の場合は、キャッシュ化されるために、時間がかかるかもしれません)(ローカルdaemon経由でのアクセス)http://localhost:8080/ipfs/QmeBWHaefLwKkn7TgGdzyxgtaTTRkPeM3X4RbUY4xr736c(gateway経由でのアクセス)https://ipfs.io/ipfs/QmeBWHaefLwKkn7TgGdzyxgtaTTRkPeM3X4RbUY4xr736cコンテンツのダウンロードコンテンツをダウンロードするには、getコマンドを使います。ここでは、先ほど作ってaddしておいたdemo/top/main.htmlのコンテンツをダウンロードしてみます。getコマンドの引数には、目的のコンテンツのハッシュ値を指定します。0sコンテンツが正常にダウンロードされると、ローカルPC上に”QmYdgfWR1wDRyD8E6kdd1R5JPjJ6QCG4ww1Y487GmBLx2y”というファイルが作成されます。IPfSのネーミングサービス「IPNS」を利用するIPFSとSwarmの違いの記事で解説した、IPFSのネーミングサービスであるIPNSの使い方について説明します。IPNSを使うとコンテンツにアクセスするためのエンドポイントのURLを固定することができます。IPNSなしの場合、コンテンツを更新するたびにハッシュが代わり、エンドポイントのURLも変わってしまう煩雑さがありますが、IPNSを使うことでこの煩雑さから解放されます。記事の続きはオンラインサロンにて公開中!サロンで続きを読むこの記事の著者block-chain.jp編集部ブロックチェーン技術の専門企業が運営するブロックチェーンのメディア。掲載されている記事の内容につきましては、正しい情報を提供することに務めてはおりますが、提供している記事の内容及び参考資料からいかなる損失や損害などの被害が発生したとしても、弊社では責任を負いかねます。実施される際には、法律事務所にご相談ください。つきましてはblock-chani.jp運営者の個人的見解です。正確性・正当性を保証するものではありません。本記事掲載の記事内容のご利用は読者様個人の判断により自己責任でお願いいたします。コンセンサス・ベイス(株)とブロックチェーン事業を行なってみませんか?当サイトを運営するコンセンサス・ベイス株式会社は、2015年設立の国内で最も古いブロックチェーン専門企業です。これまでに、大手企業の顧客を中心に、日本トップクラスのブロックチェーンの開発・コンサルティング実績があります。ブロックチェーンに関わるビジネスコンサル・システム開発・教育・講演などご希望でしたら、お気軽にお問い合わせください。(ブロックチェーン技術書籍)本書は、ブロックチェーン技術に興味を持ったエンジニアや、その仕組みを学び、自分の仕事に活かしたいビジネスパーソンを対象にして、ブロックチェーンのコア技術とネットワーク維持の仕組みを平易な言葉で解説しています。この本を読んだうえで、実際にコードを書くような専門書、ブロックチェーンビジネスの解説書を読むことで、理解度が飛躍的に高まるでしょう。BYコンセンサス・ベイスはブロックチェーン技術の専門企業です。国内でブロックチェーン実証実験を初めて行い、その後、大企業を中心に実績多数。ビジネス・STOコンサル・システム開発などのソリューションを提供しています。WordPress.。