IPFSのブラウザ拡張について書いた以前の記事 には理解できなかったものが抜けている。 ipfs体験記12回めのこの記事ではその中のDNSLINK Supportという項目を理解できたので書く。
IPNSには普通のドメインを使ってコンテンツにアクセスする機能もある。
TXTレコードを読んで指定されたIPFS/IPNSアドレスを読むことができるのだ。
たとえばipfs.io
の場合TXTレコードは以下のようになっている。
$ dig TXT ipfs.io +short
"google-site-verification=RRzoSXE1iCp7EC--YGJ1hJlQHnUdRQPj7Q5LmlQSgBc"
"dnslink=/ipfs/QmQrX8hka2BtNHa8N8arAq16TCVx5qHcb46c5yPewRycLm"
IPFSはdnslink
を読んで以下のように解決をする。
$ ipfs resolve -r /ipns/ipfs.io
/ipfs/QmQrX8hka2BtNHa8N8arAq16TCVx5qHcb46c5yPewRycLm
/ipns/ipfs.io
と/ipfs/QmQrX8hka2BtNHa8N8arAq16TCVx5qHcb46c5yPewRycLm
は同じコンテンツを指しており、
どちらのアドレスでもアクセスできる。
しかしあるドメインがIPNS用の情報を提供しているかはなかなか気づけない。
ブラウザ拡張の試験的機能であるDNSLINK Supportはその確認を自動的におこなって、場合によってはリダイレクトしてくれる機能である。
たとえばこの機能をオンにした状態でipfs.io
にアクセスするとアドレスバーがhttp://127.0.0.1:8080/ipns/ipfs.io/
に書き換わる。
ブログなどの頻繁に変わるコンテンツはIPFS版のサイトには含まれていないらしく、404になる。 他のサイトでも画像などのコンテンツが含まれていなかったりして、見られないことが多い。 おそらくこれがDNSLINK Supportが試験的機能であるゆえんだろう。