IPFSの仕組みについてはALISで述べてきた。ぜひそちらも参照してほしい
今回はこのIPFSを用いて無料でファイルを公開する方法を記事にする。
まずはIPFSをインストールする。(golangが入っていれば以下)
$ go get -u -d github.com/ipfs/go-ipfs
$ cd $GOPATH/src/github.com/ipfs/go-ipfs //pathを通す
$ make install
そしてinstallが全て終わったら
$ ipfs init
すると to get started, enter: と出るので、その次の行をコピペしてターミナルの続きに入力する。
Hello and Welcome to IPFS!
██╗██████╗ ███████╗███████╗
██║██╔══██╗██╔════╝██╔════╝
██║██████╔╝█████╗ ███████╗
██║██╔═══╝ ██╔══╝ ╚════██║
██║██║ ██║ ███████║
╚═╝╚═╝ ╚═╝ ╚══════╝
If you're seeing this, you have successfully installed
IPFS and are now interfacing with the ipfs merkledag!
のように出れば準備完了!
そしてあげたいファイルの場所を指定する。(今回はtestファイルとする)
$ ipfs add -r /Users/username/Desktop/test
そして以下のように左側にハッシュ値 右側にそのハッシュと紐づいているファイル名が出現する
$ added QmJD494jadjD049dJ3j49JDji4CvU843cz3yLtXg5YRVwdRcq6w test
その後 以下のコマンドでP2Pネットワークにデータを送っていく。
$ ipfs daemon
以下のコードでpinをした後に自身のpeerIdと紐づける作業を行う
ipfs pin add -r QmJD494jadjD049dJ3j49JDji4CvU843cz3yLtXg5YRVwdRcq6w
ipfs name publish QmWrTQcLqjUG5EJLNZUdFCvU843cz3yLtXg5YRVwdRcq6w
Published to QmUT8d93hjIJHIHFDaiJGEoUUPFxm4KLHBgc9Z7e6BjJXM: /ipfs/QmWNDUDOEO039948DHUDo43cz3yLtXg5YRV
そしてpublished to に続くハッシュ値が最終的にurlに用いるものだ。
published to に続くハッシュ値とhttps://gateway.ipfs.io/ipns/を繋げ合わせると、IPFSを用いてファイルが公開されていることが確認できる。公開まで10分くらいかかった気がする。
以上。ほとんど自己アウトプット用の記事になってしまいました。